Skip to content

Commit d42c94a

Browse files
author
Uriiol1808
committed
first commit
0 parents  commit d42c94a

File tree

232 files changed

+159675
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

232 files changed

+159675
-0
lines changed

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 Javi Agenjo
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Makefile

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Makefile for KTH's code.
2+
3+
include Makefile.inc
4+
5+
SOURCES = src/*.cpp src/extra/*.cpp src/extra/coldet/*.cpp src/extra/*.c
6+
7+
OBJECTS = $(patsubst %.cpp, %.o, $(wildcard $(SOURCES)))
8+
DEPENDS = $(patsubst %.cpp, %.d, $(wildcard $(SOURCES)))
9+
10+
SDL_LIB = -lSDL2
11+
GLUT_LIB = -lGL -lGLU
12+
13+
LIBS = $(SDL_LIB) $(GLUT_LIB)
14+
15+
all: main
16+
17+
main: $(DEPENDS) $(OBJECTS)
18+
$(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $@
19+
20+
%.d: %.cpp
21+
@$(CXX) -M -MT "$*.o $@" $(CPPFLAGS) $< > $@
22+
@echo Generating new dependencies for $<
23+
24+
run:
25+
./main
26+
27+
clean:
28+
rm -f $(OBJECTS) $(DEPENDS) main *.pyc
29+
30+
-include $(SOURCES:.cpp=.d)
31+

Makefile.inc

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Common included file for all makefiles in the project
2+
3+
CC = gcc
4+
CXX = g++
5+
CFLAGS = -g -Wall -Wno-unused-variable
6+
CXXFLAGS = -g -Wall -Wno-unused-variable -std=c11
7+
CPPFLAGS = -DGCC -DSKIP_IMGUI
8+
#CFLAGS = -O2 -Wall -Werror
9+
#CXXFLAGS = -O2 -Wall -Werror
10+
AR = ar
11+
MAKE = make

README.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# GTR_Framework
2+
OpenGL C++ Framework used for the Grafics a Temps Real course at Universitat Pompeu Fabra.
3+
4+
It imports GLTF and PNGs.
5+
6+
## Compile
7+
8+
### Windows
9+
Open the solution in the Visual Studio folder using Visual Studio 2019.
10+
11+
### OSX
12+
Open the XCode solution
13+
14+
### Linux
15+
16+
to install libraries
17+
```sh
18+
apt-get install libsdl2-dev
19+
apt-get install libglew-dev
20+
```
21+
22+
and to compile
23+
```sh
24+
make
25+
```

README.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
NIA: 216756
2+
NAME: Oriol Marín Esclasans
3+
4+
5+
From renderer.h you are able to change if you want to use Single Pass or Multi Pass using light_mode.
6+
Also, in the screenshots folder there are 3 pictures showing multi and single pass with the alpha sorting.
7+
8+
In the shader_atlas.txt there are the phong equation for the three lights and a try out using other textures.
9+
10+
Shadowmaps does not work correctly, but it is implemented for both spot and directional lights in Multi Pass.

Screenshots/ALPHA_SORTING.PNG

445 KB
Loading

Screenshots/MULTIPASS.PNG

1.99 MB
Loading

Screenshots/SINGLEPASS.PNG

1.56 MB
Loading

data/meshes/box.ASE

+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
*3DSMAX_ASCIIEXPORT 200
2+
*COMMENT "AsciiExport Version 2,00 - Sun May 31 21:23:28 2009"
3+
*SCENE {
4+
*SCENE_FILENAME ""
5+
*SCENE_FIRSTFRAME 0
6+
*SCENE_LASTFRAME 100
7+
*SCENE_FRAMESPEED 30
8+
*SCENE_TICKSPERFRAME 160
9+
*SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000
10+
*SCENE_AMBIENT_STATIC 0.0000 0.0000 0.0000
11+
}
12+
*GEOMOBJECT {
13+
*NODE_NAME "Box01"
14+
*NODE_TM {
15+
*NODE_NAME "Box01"
16+
*INHERIT_POS 0 0 0
17+
*INHERIT_ROT 0 0 0
18+
*INHERIT_SCL 0 0 0
19+
*TM_ROW0 1.0000 0.0000 0.0000
20+
*TM_ROW1 0.0000 1.0000 0.0000
21+
*TM_ROW2 0.0000 0.0000 1.0000
22+
*TM_ROW3 0.0000 0.0000 0.0000
23+
*TM_POS 0.0000 0.0000 0.0000
24+
*TM_ROTAXIS 0.0000 0.0000 0.0000
25+
*TM_ROTANGLE 0.0000
26+
*TM_SCALE 1.0000 1.0000 1.0000
27+
*TM_SCALEAXIS 0.0000 0.0000 0.0000
28+
*TM_SCALEAXISANG 0.0000
29+
}
30+
*MESH {
31+
*TIMEVALUE 0
32+
*MESH_NUMVERTEX 8
33+
*MESH_NUMFACES 12
34+
*MESH_VERTEX_LIST {
35+
*MESH_VERTEX 0 -50.0000 -50.0000 -50.0000
36+
*MESH_VERTEX 1 50.0000 -50.0000 -50.0000
37+
*MESH_VERTEX 2 -50.0000 50.0000 -50.0000
38+
*MESH_VERTEX 3 50.0000 50.0000 -50.0000
39+
*MESH_VERTEX 4 -50.0000 -50.0000 50.0000
40+
*MESH_VERTEX 5 50.0000 -50.0000 50.0000
41+
*MESH_VERTEX 6 -50.0000 50.0000 50.0000
42+
*MESH_VERTEX 7 50.0000 50.0000 50.0000
43+
}
44+
*MESH_FACE_LIST {
45+
*MESH_FACE 0: A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 0
46+
*MESH_FACE 1: A: 3 B: 1 C: 0 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 0
47+
*MESH_FACE 2: A: 4 B: 5 C: 7 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 3 *MESH_MTLID 0
48+
*MESH_FACE 3: A: 7 B: 6 C: 4 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 3 *MESH_MTLID 0
49+
*MESH_FACE 4: A: 0 B: 1 C: 5 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 4 *MESH_MTLID 0
50+
*MESH_FACE 5: A: 5 B: 4 C: 0 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 4 *MESH_MTLID 0
51+
*MESH_FACE 6: A: 1 B: 3 C: 7 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 5 *MESH_MTLID 0
52+
*MESH_FACE 7: A: 7 B: 5 C: 1 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 5 *MESH_MTLID 0
53+
*MESH_FACE 8: A: 3 B: 2 C: 6 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 6 *MESH_MTLID 0
54+
*MESH_FACE 9: A: 6 B: 7 C: 3 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 6 *MESH_MTLID 0
55+
*MESH_FACE 10: A: 2 B: 0 C: 4 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 7 *MESH_MTLID 0
56+
*MESH_FACE 11: A: 4 B: 6 C: 2 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 7 *MESH_MTLID 0
57+
}
58+
*MESH_NUMTVERTEX 12
59+
*MESH_TVERTLIST {
60+
*MESH_TVERT 0 0.0000 0.0000 0.0000
61+
*MESH_TVERT 1 1.0000 0.0000 0.0000
62+
*MESH_TVERT 2 0.0000 1.0000 0.0000
63+
*MESH_TVERT 3 1.0000 1.0000 0.0000
64+
*MESH_TVERT 4 0.0000 0.0000 0.0000
65+
*MESH_TVERT 5 1.0000 0.0000 0.0000
66+
*MESH_TVERT 6 0.0000 1.0000 0.0000
67+
*MESH_TVERT 7 1.0000 1.0000 0.0000
68+
*MESH_TVERT 8 0.0000 0.0000 0.0000
69+
*MESH_TVERT 9 1.0000 0.0000 0.0000
70+
*MESH_TVERT 10 0.0000 1.0000 0.0000
71+
*MESH_TVERT 11 1.0000 1.0000 0.0000
72+
}
73+
*MESH_NUMTVFACES 12
74+
*MESH_TFACELIST {
75+
*MESH_TFACE 0 9 11 10
76+
*MESH_TFACE 1 10 8 9
77+
*MESH_TFACE 2 8 9 11
78+
*MESH_TFACE 3 11 10 8
79+
*MESH_TFACE 4 4 5 7
80+
*MESH_TFACE 5 7 6 4
81+
*MESH_TFACE 6 0 1 3
82+
*MESH_TFACE 7 3 2 0
83+
*MESH_TFACE 8 4 5 7
84+
*MESH_TFACE 9 7 6 4
85+
*MESH_TFACE 10 0 1 3
86+
*MESH_TFACE 11 3 2 0
87+
}
88+
*MESH_NORMALS {
89+
*MESH_FACENORMAL 0 0.0000 0.0000 -1.0000
90+
*MESH_VERTEXNORMAL 0 0.0000 0.0000 -1.0000
91+
*MESH_VERTEXNORMAL 2 0.0000 0.0000 -1.0000
92+
*MESH_VERTEXNORMAL 3 0.0000 0.0000 -1.0000
93+
*MESH_FACENORMAL 1 0.0000 0.0000 -1.0000
94+
*MESH_VERTEXNORMAL 3 0.0000 0.0000 -1.0000
95+
*MESH_VERTEXNORMAL 1 0.0000 0.0000 -1.0000
96+
*MESH_VERTEXNORMAL 0 0.0000 0.0000 -1.0000
97+
*MESH_FACENORMAL 2 0.0000 -0.0000 1.0000
98+
*MESH_VERTEXNORMAL 4 0.0000 0.0000 1.0000
99+
*MESH_VERTEXNORMAL 5 0.0000 -0.0000 1.0000
100+
*MESH_VERTEXNORMAL 7 0.0000 0.0000 1.0000
101+
*MESH_FACENORMAL 3 -0.0000 0.0000 1.0000
102+
*MESH_VERTEXNORMAL 7 0.0000 0.0000 1.0000
103+
*MESH_VERTEXNORMAL 6 -0.0000 0.0000 1.0000
104+
*MESH_VERTEXNORMAL 4 0.0000 0.0000 1.0000
105+
*MESH_FACENORMAL 4 0.0000 -1.0000 0.0000
106+
*MESH_VERTEXNORMAL 0 0.0000 -1.0000 0.0000
107+
*MESH_VERTEXNORMAL 1 0.0000 -1.0000 0.0000
108+
*MESH_VERTEXNORMAL 5 0.0000 -1.0000 0.0000
109+
*MESH_FACENORMAL 5 0.0000 -1.0000 0.0000
110+
*MESH_VERTEXNORMAL 5 0.0000 -1.0000 0.0000
111+
*MESH_VERTEXNORMAL 4 0.0000 -1.0000 0.0000
112+
*MESH_VERTEXNORMAL 0 0.0000 -1.0000 0.0000
113+
*MESH_FACENORMAL 6 1.0000 0.0000 -0.0000
114+
*MESH_VERTEXNORMAL 1 1.0000 0.0000 0.0000
115+
*MESH_VERTEXNORMAL 3 1.0000 0.0000 -0.0000
116+
*MESH_VERTEXNORMAL 7 1.0000 0.0000 0.0000
117+
*MESH_FACENORMAL 7 1.0000 -0.0000 0.0000
118+
*MESH_VERTEXNORMAL 7 1.0000 0.0000 0.0000
119+
*MESH_VERTEXNORMAL 5 1.0000 -0.0000 0.0000
120+
*MESH_VERTEXNORMAL 1 1.0000 0.0000 0.0000
121+
*MESH_FACENORMAL 8 0.0000 1.0000 0.0000
122+
*MESH_VERTEXNORMAL 3 0.0000 1.0000 0.0000
123+
*MESH_VERTEXNORMAL 2 0.0000 1.0000 0.0000
124+
*MESH_VERTEXNORMAL 6 0.0000 1.0000 0.0000
125+
*MESH_FACENORMAL 9 0.0000 1.0000 0.0000
126+
*MESH_VERTEXNORMAL 6 0.0000 1.0000 0.0000
127+
*MESH_VERTEXNORMAL 7 0.0000 1.0000 0.0000
128+
*MESH_VERTEXNORMAL 3 0.0000 1.0000 0.0000
129+
*MESH_FACENORMAL 10 -1.0000 0.0000 0.0000
130+
*MESH_VERTEXNORMAL 2 -1.0000 0.0000 0.0000
131+
*MESH_VERTEXNORMAL 0 -1.0000 0.0000 0.0000
132+
*MESH_VERTEXNORMAL 4 -1.0000 0.0000 0.0000
133+
*MESH_FACENORMAL 11 -1.0000 -0.0000 -0.0000
134+
*MESH_VERTEXNORMAL 4 -1.0000 0.0000 0.0000
135+
*MESH_VERTEXNORMAL 6 -1.0000 -0.0000 -0.0000
136+
*MESH_VERTEXNORMAL 2 -1.0000 0.0000 0.0000
137+
}
138+
}
139+
*PROP_MOTIONBLUR 0
140+
*PROP_CASTSHADOW 1
141+
*PROP_RECVSHADOW 1
142+
}

data/night.hdre

6 MB
Binary file not shown.

data/prefabs/floor.glb

2.58 MB
Binary file not shown.

data/prefabs/gmc/scene.bin

229 KB
Binary file not shown.

0 commit comments

Comments
 (0)