Skip to content

Easy to understand, wrapped for ease of use C++ OpenGL API Pipeline Template Project. With) Assimp, ImGui, OpenGL SOIL

Notifications You must be signed in to change notification settings

jinhyeonseo01/EasyToUnderstand-Cpp-OpenGL-Template

Repository files navigation

Cpp OpenGL Rendering Pipeline

3rd Party

  • GLEW, Free GLUT, GLM
  • Assimp
  • ImGui
  • Simple OpenGL Image Library (SOIL)

video
https://youtu.be/VYsvPh9Y_6E

img
img

2023 University (한국공학대학교 2학년 2학기) Graphic OpenGL Rendering Pipeline Process Develop Project


DevLog

DevLog_6

- Tangent Space & Normal Maping

- Face SDF Shadow & CubeMap

자세히

img

DevLog_5

- Bone Node 기반 Skeleton Animation

자세히

img img

DevLog_4

- SOIL(Image Loader) inatall inatall & Texture Mapping

- Error 분석기 & 중단되지 않는 렌더링 -

자세히

img img img 쉐이더 및 코드상 오류 보고(Log System) & 쉐이더 오류시 중단되지 않고 Error Shader로 표현

DevLog_3

- IMGUI inatall & Game Logic & Frame System -

자세히

img

프로젝트에 추가한 모습

Added to the project.
img



로직 시스템 계층 구조

img

라이프사이클

void World::WorldUpdate()
{
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->Enable();
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->Start();
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->Update();
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->LateUpdate();
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->Disable();
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->PostBehavior();
    for (int i = 0; i < gameObjectList.size(); i++)
        if (gameObjectList[i]->destroy)
            gameObjectList.erase(gameObjectList.begin() + (i--));
}
void World::WorldRender()
{
    for (int i = 0; i < gameObjectList.size(); i++)
        gameObjectList[i]->BeforeRender();
}



DevLog_2

- Assimp inatall & Develop FBX Loader -

자세히

img

(Example : Gensine Impect - Klee)

DevLog_1

- Buffer Converter 제작 -

자세히

img

About

Easy to understand, wrapped for ease of use C++ OpenGL API Pipeline Template Project. With) Assimp, ImGui, OpenGL SOIL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published