컴퓨터 그래픽스/OpenGL 6

#5 tinylender 개발일지 : 상태 머신 적용

GUI를 만들었으니 이제 입력에 따라 상태가 변화해야한다.그래서 현재 상태에 따라 동작하게끔 상태 머신을 만들었다. Contextclass Context{ public: Context(IState* layerState, IState* dotState, IState* lineState, IState* surfaceState); void Transition(eUIState state); void HandleState(); eUIState GetState() const {return mState;} private: eUIState mState; IState* mCurrentState=NULL; IState* mL..

#4 gulender 개발일지 : mesh, model 그리고 assimp 세팅

GUI를 만들고, UI에 맞춰 상태 머신을 만들다가 느낀것이..우선 메쉬를 따로 분리해야 할 것 같았다.그래야 지금 내가 조작중인 메쉬에 접근해서 뭘 할수 있으니깐..지금은 vbo, vao, ebo 모두 대충 메인에 박혀있다. 그래서 분리하고자 mesh, model 클래스를 만들었다.class Mesh{ public: Mesh(std::vector vert, std::vector idx, std::vector tex, const GLchar* vertexPath, const GLchar* fragPath ); std::vector vertices; std::vector indice; st..

#3 gulender 개발일지 : rpath 설정

맥북에서 윈도우 게임을 즐기기위해..게임포팅툴킷을 설치하려고...sonoma로 맥을 업데이트 했더니.........빌드가 터졌다^______________^ 더 정확히 말하자면 빌드가 안되는 건 아니고실행 시점에서 문제가 생긴다.Library not loaded: @rpath/libglfw.3.dylibReason: no LC_RPATH's found 에러로그를 살펴보면 libglfw.3 동적 라이브러리 파일 경로를 못찾는다고 나온다.보통 dylib 파일은 usr/local/lib에 있는데..터미널에서 찾아보면아니 잘 있구만.. 컴파일, 링크, 빌드c, c++과 같은 언어에서는컴파일을 통해 오브젝트 파일을 만들고링커를 통해 동적 라이브러리 파일과 링크해서실제 실행파일을 만든다.그러니깐 빌드는 잘 되는데r..

#2 gulender 개발일지 : GUI 개발

저번 글에서 버텍스를 수정하는 기능을 만들었다.앞으로도 여러 기능이 추가될텐데..기능이 추가되기 위해서는 입력을 컨트롤 할 수 있어야 한다.그래서 기능을 더 추가하기 전에, 먼저 GUI를 만들었다. 외부 라이브러리처음에는 외부 라이브러리를 활용하려고 했었다.https://github.com/ocornut/imgui GitHub - ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependenciesDear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies - ocornut/imguigithub.comhttps://g..

#1 gulender 개발일지 : 기본적인 조작, 버텍스 수정 기능

우선 openGL에 대한 기본적인 지식을 learnOpenGL 이라는 사이트에서 공부했다. https://learnopengl.com/ Learn OpenGL, extensive tutorial resource for learning Modern OpenGL Welcome to OpenGL Welcome to the online book for learning OpenGL! Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this book will teach you the basics, the intermediate, and all the advanced..

#0 gulender 개발일지 : 개요

작년 이맘때쯤에, 오리키우기 이후 만들 게임을 구상하고 있었다. 여러가지 아이디어가 있었고, 그 중에 생각했던게 방치형 모바일 3d 농장 게임이 있었다. 3d 게임 포폴이 취업시장에서는 높게 쳐준다는 말도 있었고, 쉐이더에 관심이 있어서 쉐이더를 다뤄보고 싶었다. 그런데 가장 큰 장벽은.. 당연히 3d 모델링 그런데 당시 내가 원하는 스타일이 사실적인 느낌의 3d가 아니라 오리키우기처럼 캐주얼한 스타일이였기에 그림도 그릴줄 아니깐.. 내가 만들 수도 있을 것 같았다. 이런 느낌으로 만들고 싶었다. 그래서 호기롭게 블렌더3d를 깔아서 좀 다뤄보고 느낀 소감은.. 너무 어렵다 음..그냥 상상해보기엔 그냥 구 하나 늘려서 잎부분 만들고 원통 하나 늘려서 가지 만들어서 붙이면 나무를 만들 수 있을 것 같다고 생..