cube OpenGL-Starting-Place

OpenGLOpenGL Starting Place, A Template to get started making OpenGLopengl projects and assignments, Mostly using c-programmingc code in cppcpp files

freeglut glfw
freeGlut Window GLFW Window

There is a discussions available for this repo at https://github.com/tztz8/OpenGL-Starting-Place/discussions

When cloning this repo remember use --recursive flag (Visual Studio git clone does it by default)

If altered cloned use git submodule update --init --recursive

Systems I use for testing

I Used EWU Windows 10 Windows computers and My Manjaro LinuxLinux Computer and a VMware Workstation Player VMware Windows 10 Windows for testing.

Note the systems have FreeGLUT, GLM, GLEW and, often have DevIL installed

On EWU Windows computers uses visual-studio Visual Studio 2019

I do add GLSL language integration extension when I use school computer

On My Manjaro Linux computer I use jetbrains CLion

I do have GLSL Support plugin, but the plugin does crash often but still works

On VMware Windows computers I use visual-studio Visual Studio 2019

I do have GLSL language integration extension

Files

C and C++

c-programming cpp

Main.cpp

also in basicFreeGLUT main.cpp

The start of the program and most of the code will be done here.

Cube.cpp and Cube.h

also in basicFreeGLUT Cube.cpp and Cube.h

Has methods to set up cube and draw cube

OpenGL Shaders

openGL

Vertex Shader (shader.vert)

also in basicFreeGLUT shader.vert

Vertex shader (using GLSL Support Plugin on CLion and GLSL language integration extension on Visual Studio)

Called for each vertex

Fragment Shader (shader.frag)

also in basicFreeGLUT shader.frag

Fragment shader (using GLSL Support Plugin on CLion and GLSL language integration extension on Visual Studio)

Called for each pixel

CMake

cmake

Main Cmake file CMakeLists.txt

Set up the project, get libraries ready and finally call each excitable CMake File

basicGLFW CMakeLists.txt

Set up the excitable and link it to the libraries.

basicFreeGLUT CMakeLists.txt

Set up the excitable and link it to the libraries.

nvidia Nvidia GPU on Linux

To use Nvidia GPU insed of integrated GPU on Linux add

__NV_PRIME_RENDER_OFFLOAD=1;
__GLX_VENDOR_LIBRARY_NAME=nvidia;

To environment variables

Run Configurations in CLion

Documentation

openGL
OpenGL/GLSL
GLFW freeGLUT cmake
cmake
OpenGL (unofficial) GLFW freeGLUT cmake
OpenGL (4.5 Reference Pages)   GLUT  
OpenGL (opengl45-quick-reference-card)(Not quick)      

Note using icon from icons8

Cube CMake nvidia linux windows jetbrains visual-studio c-programming cpp vmware player
cube cmake nvidia Linux Windows 10 jetbrains visual-studio c-programming cpp VMware Workstation Player

https://icons8.com/license