├── GLAD.pdb
├── OPENGL32.LIB
├── OpenGL Quote Scene.sln
├── OpenGL Quote Scene.vcxproj
├── OpenGL Quote Scene.vcxproj.filters
├── OpenGL Quote Scene.vcxproj.user
├── README.md
├── STB_IMAGE.pdb
├── Source.cpp
├── assimp-vc140-mt.dll
├── assimp.lib
├── build_windows.sh
├── camera.h
├── filesystem.h
├── fonts
├── Antonio-Bold.ttf
├── Antonio-Light.ttf
├── Antonio-Regular.ttf
├── OCRAEXT.TTF
└── SIL Open Font License.txt
├── freetype.lib
├── glad.c
├── glew32s.lib
├── glfw3.lib
├── root_directory.h
├── shader.h
├── specular.fs
├── specular.vs
├── text.fs
├── text.vs
└── vc140.pdb
/GLAD.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sheraadams/OpenGL-Text-Rendering-and-Animation/3c4dfd3331a4973faf778d92d147c343b46c378b/GLAD.pdb
--------------------------------------------------------------------------------
/OPENGL32.LIB:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sheraadams/OpenGL-Text-Rendering-and-Animation/3c4dfd3331a4973faf778d92d147c343b46c378b/OPENGL32.LIB
--------------------------------------------------------------------------------
/OpenGL Quote Scene.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.4.33122.133
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenGL Quote Scene", "OpenGL Quote Scene.vcxproj", "{B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Debug|x86 = Debug|x86
12 | Release|x64 = Release|x64
13 | Release|x86 = Release|x86
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Debug|x64.ActiveCfg = Debug|x64
17 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Debug|x64.Build.0 = Debug|x64
18 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Debug|x86.ActiveCfg = Debug|Win32
19 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Debug|x86.Build.0 = Debug|Win32
20 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Release|x64.ActiveCfg = Release|x64
21 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Release|x64.Build.0 = Release|x64
22 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Release|x86.ActiveCfg = Release|Win32
23 | {B4E5BF30-330B-4BEE-A2D8-18AF3E2EC2FF}.Release|x86.Build.0 = Release|Win32
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {0E8EAA08-1F4D-4055-A594-CEE93DF1D1E2}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------
/OpenGL Quote Scene.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 | Debug
14 | x64
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 | 16.0
23 | Win32Proj
24 | {b4e5bf30-330b-4bee-a2d8-18af3e2ec2ff}
25 | OpenGLQuoteScene
26 | 10.0
27 |
28 |
29 |
30 | Application
31 | true
32 | v143
33 | Unicode
34 |
35 |
36 | Application
37 | false
38 | v143
39 | true
40 | Unicode
41 |
42 |
43 | Application
44 | true
45 | v143
46 | Unicode
47 |
48 |
49 | Application
50 | false
51 | v143
52 | true
53 | Unicode
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | D:\Programming\cpp\repos\Resources\includes;$(IncludePath)
75 | D:\Programming\cpp\repos\Resources\lib;$(LibraryPath)
76 |
77 |
78 | D:\Programming\cpp\repos\Resources\includes;$(IncludePath)
79 | D:\Programming\cpp\repos\Resources\lib;$(LibraryPath)
80 |
81 |
82 | D:\Programming\cpp\repos\Resources\includes;$(IncludePath)
83 | D:\Programming\cpp\repos\Resources\lib;$(LibraryPath)
84 |
85 |
86 | D:\Programming\cpp\repos\Resources\includes;$(IncludePath)
87 | D:\Programming\cpp\repos\Resources\lib;$(LibraryPath)
88 |
89 |
90 |
91 | Level3
92 | true
93 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
94 | true
95 | stdcpp20
96 |
97 |
98 | Console
99 | true
100 | D:\Programming\cpp\repos\Resources\dlls;D:\Programming\cpp\repos\Resources\bin;%(AdditionalLibraryDirectories)
101 | freetype.lib; opengl32.lib;assimp.lib;glfw3.lib;%(AdditionalDependencies)
102 |
103 |
104 |
105 |
106 | Level3
107 | true
108 | true
109 | true
110 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
111 | true
112 | stdcpp20
113 |
114 |
115 | Console
116 | true
117 | true
118 | true
119 | D:\Programming\cpp\repos\Resources\dlls;D:\Programming\cpp\repos\Resources\bin;%(AdditionalLibraryDirectories)
120 | freetype.lib; opengl32.lib;assimp.lib;glfw3.lib;%(AdditionalDependencies)
121 |
122 |
123 |
124 |
125 | Level3
126 | true
127 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
128 | true
129 | stdcpp20
130 |
131 |
132 | Console
133 | true
134 | D:\Programming\cpp\repos\Resources\dlls;D:\Programming\cpp\repos\Resources\bin;%(AdditionalLibraryDirectories)
135 | freetype.lib; opengl32.lib;assimp.lib;glfw3.lib;%(AdditionalDependencies)
136 |
137 |
138 |
139 |
140 | Level3
141 | true
142 | true
143 | true
144 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
145 | true
146 | stdcpp20
147 |
148 |
149 | Console
150 | true
151 | true
152 | true
153 | D:\Programming\cpp\repos\Resources\dlls;D:\Programming\cpp\repos\Resources\bin;%(AdditionalLibraryDirectories)
154 | freetype.lib; opengl32.lib;assimp.lib;glfw3.lib;%(AdditionalDependencies)
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
--------------------------------------------------------------------------------
/OpenGL Quote Scene.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 | Source Files
29 |
30 |
31 |
32 |
33 | Source Files
34 |
35 |
36 | Source Files
37 |
38 |
39 | Source Files
40 |
41 |
42 | Source Files
43 |
44 |
45 | Source Files
46 |
47 |
48 | Source Files
49 |
50 |
51 | Source Files
52 |
53 |
54 | Source Files
55 |
56 |
57 | Source Files
58 |
59 |
60 |
61 |
62 | Source Files
63 |
64 |
65 | Source Files
66 |
67 |
68 | Source Files
69 |
70 |
71 | Source Files
72 |
73 |
74 | Source Files
75 |
76 |
77 |
78 |
79 | Source Files
80 |
81 |
82 | Source Files
83 |
84 |
85 |
--------------------------------------------------------------------------------
/OpenGL Quote Scene.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # OpenGL Text Tendering and Animation
2 |
3 | ## About the Project
4 |
5 | This program is an animation program designed to allow an interactive 3D environment for educational purposes. The text is rendered onto a 2D plane in the environment to add to the experience and deliver the message in a visually creative and interesting way.
6 |
7 |
8 |
9 |
Watch the video here.
10 |
11 |
12 |
13 |
14 |
15 |
16 | ## Getting Started
17 |
18 | 1. Clone this repo. Settings are Microsoft Visual Studio x64.
19 |
20 | 2. Modify solution properties, (all solutions) edit debug > VCC++ > add includes add libraries.
21 |
22 | 3. Go to linker and add additional libraries of config, dlls, bin, resources.
23 | go to properties > linker > input and add glfw3.lib, opengl32.lib, assimp.lib, and freetype.lib.
24 |
25 | 4. Go to project add all existing items to the project.
26 |
27 | 5. if filestystem.h warnings:
28 | after class FileSystem {
29 | enter:
30 | public:
31 | #pragma warning(disable: 4996)
32 |
33 | 6. if using stb_image, add the following define below all includes:
34 | #define STB_IMAGE_IMPLEMENTATION
35 |
36 | 7. (optional) Add additional helpful macros. See https://github.com/nothings/stb/blob/master/stb_image.h
37 |
38 | 8. Set the C++ language properties and add most recent C++ version to use the 2020 libraries.
39 |
40 | ## References
41 |
42 | Credit to LearnOpenGL for shaders, camera, glfw functions and text rendering functions.
43 |
44 | https://github.com/JoeyDeVries/LearnOpenGL/blob/master/LICENSE.md
45 |
46 | Learn OpenGL, extensive tutorial resource for learning Modern OpenGL. (n.d.-c). https://learnopengl.com/
47 |
48 |
49 | ## XCode Usage
50 |
51 | Open a terminal in the project directory and run the code to remove the old build folder and generate a new one with the Xcode project file.
52 |
53 | ```bash
54 | mkdir build
55 | cd build
56 | cmake -G Xcode ..
57 |
58 | #Usage: when updating the build folder, remove it first then regenerate the folder as above
59 | rm -rf build
60 | ```
61 | Set the working directory in Xcode using Product > Scheme > Edit Scheme > Run Debug > Options > Working Directory > (Check Set Custom) > Project directory/build.
62 |
63 | Build and run the project.
64 |
65 | ## License:
66 |
67 | The code is based on various tutorial code from LearnOpenGL.com.
68 |
69 | Tutorial code is © Joey DeVries and licensed under the CC BY 4.0 License.
70 |
71 | Modifications and additional contributions are © Shera Adams and licensed under the Apache 2.0 License.
72 |
73 | Proudly crafted with ❤️ by Shera Adams.
74 |
--------------------------------------------------------------------------------
/STB_IMAGE.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sheraadams/OpenGL-Text-Rendering-and-Animation/3c4dfd3331a4973faf778d92d147c343b46c378b/STB_IMAGE.pdb
--------------------------------------------------------------------------------
/Source.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include FT_FREETYPE_H
9 | #include "filesystem.h"
10 | #include"camera.h"
11 | #include"shader.h"
12 | #include
13 | #include
14 | #include