-

Actors
If you use any game engine or a 3D software like Blender/Maya. Probably you know every componentz on scene/viewport have tranforms and some data. I will call this components as “Actor” -like Unreal did-. Actor Class Main.cpp Summary: Non-summary Vertex/Index Buffer
-

Hello Variables
In previous lecture we use our first variable std::string name = “C++”; and std::string greeting Numbers We can store our text data inside string. If we want to store a number we can use int or float int use 4 byte of memory and also float use 4 byte of memory BUT integer holds integer…
-

Hello C++
Installation https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-170 Our first program This template gives you the code that will print “Hello World!” on the console screen. You can run program by clicking run button (green triangle on the top side of the screen) Now we can investigate the code: When we press the run button we will take this output: We…
-

Hello CUDA
Installation Compiler Error If you get an error with default code, probably your device compute capability is incompatible with current selected one. Hello CUDA Query Device Properties https://developer.nvidia.com/blog/how-query-device-properties-and-handle-errors-cuda-cc/
-

ImGui
Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline-enabled application. It is fast, portable, renderer agnostic, and self-contained (no external dependencies). https://github.com/ocornut/imgui
-

-

-

Uniforms
A uniform is a global Shader variable declared with the “uniform” storage qualifier. These act as parameters that the user of a shader program can pass to that program. Their values are stored in a program object. Uniforms are so named because they do not change from one shader invocation to the next within a particular rendering call thus their value…
-

The Second Square
A vertex array object (also known as VAO) can be bound just like a vertex buffer object and any subsequent vertex attribute calls from that point on will be stored inside the VAO. This has the advantage that when configuring vertex attribute pointers you only have to make those calls once and whenever we want to draw the…
-

Hello Square
For drawing two squares we need to make two things. First, add extra 3 vertices and the second one is to add those extra vertices to the draw command As you can see these two triangles have adjacent 2 vertices. Instead of supplying these two extra vertices, we can supply a list for the order…
-

Hello Triangle
Shaders VBO Vertex Attributes Refactor main Shader Class https://www.khronos.org/opengl/wiki/Vertex_Specification
-

Hello Window
GLFWwindow Firstly we need to create a GLFW window. After creating a window we should create an infinite loop for render purposes. Of course, we don’t render anything except a black screen for now. Legacy Triangle GLAD will manage OpenGL function pointers for us. In other words we need to initialize GLAD before using OpenGL…
-

Who is the OpenGL
The OpenGL is an abstract graphic API which describes the graphic functions which can we use and which can be implemented by graphics card manufactuers and other vendors. In dark ages every manufactures create their own rules for draw something on screen. Now think you are a developer who try to write a mini game…
-

-

-

Basic Movements
Firstly we should implement enhanced input system Input Action Mapping Difference between “Orient Rotation to Movement” and “Use Controller Desired Rotation”———————————————————–You probably won’t see much difference for AI-controlled characters, but for your player character the difference is this:“Orient Rotation to Movement”: Your character will turn to face the direction of travel. No matter which way…
