/OpenGL-Examples

A Set of examples for using OpenGL on C++ (For Educational Purposes)

Primary LanguageC++MIT LicenseMIT

OpenGL Examples (CMP205)

This repository contains examples of how to use OpenGL with C++17. It is made for the "Computer Graphics and Man-Machine Interfacing" course (CMPN205) at Cairo University Faculty of Engineering.

IMPORTANT:

While running, make sure that the working directory is the project directory and not the build folder. This is necessary since the code expects to run in the same directory where the "assets" folder exist.

Examples

Name Source Code Documentation
Empty Window ex01_empty_window.cpp
Shader Introduction ex02_shader_introduction.cpp
Uniforms ex03_uniforms.cpp
Varyings ex04_varyings.cpp
Attributes ex05_attributes.cpp
Multiple Attributes ex06_multiple_attributes.cpp
Interleaved Attributes ex07_interleaved_attributes.cpp
Elements ex08_elements.cpp
Stream ex09_stream.cpp
Model Loading ex10_model_loading.cpp
Transformation ex11_transformation.cpp
Composition ex12_composition.cpp
Camera ex13_camera.cpp
Projection ex14_projection.cpp
Depth Testing ex15_depth_testing.cpp
Face Culling ex16_face_culling.cpp
Viewports & Scissors ex17_viewports_and_scissors.cpp
Camera Stacking ex18_camera_stacking.cpp
Ray Casting ex19_ray_casting.cpp
Scene Graphs ex20_scene_graphs.cpp
Texture ex21_texture.cpp
Texture Sampling ex22_texture_sampling.cpp
Sampler Objects ex23_sampler_objects.cpp
Displacement ex24_displacement.cpp
Blending ex25_blending.cpp
Frame Buffer ex26_frame_buffer.cpp
Postprocessing ex27_postprocessing.cpp
Multiple Render Targets ex28_multiple_render_targets.cpp
Light ex29_light.cpp
Light Array ex30_light_array.cpp
Multi-Pass Lighting ex31_light_multipass.cpp
Textured Material ex32_textured_material.cpp

Extra Resources

Included Libraries

License

MIT License