본문 바로가기

전체 글

230506 자체 엔진 개발 : Resize https://github.com/ohbumjun/GameEngineTutorial/commit/a7c58287c4edf59969c538739bd67dcc80039f5c Window 창을 Resize 한다는 것은 무슨 의미일까 ? 우리가 렌더하는 픽셀이 Resize 에 맞게, 위치가 조정되어야 한다.즉, Resize 하면 각 픽셀이 렌더링 되는 위치도 조정되어야 한다는 것이다.자. 다시 말하면, 우리가 렌더링할 픽셀들이 모여있는 메모리 버퍼가 있다.그리고 그 메모리 버퍼의 사이즈는, 우리가 렌더링하는 창의 크기에 맞게 조정되어야 한다.(관련 함수) 즉, GraphicAPI 에게 Rendering Area 가 변경되었다는 것을 알려줘야 한다는 것이다.OpenGL 의 경우 glViewPort 함수를 통해 가.. 더보기
230504 Hazel GameEngine : CameraController , Zoom 적용하기 https://github.com/ohbumjun/GameEngineTutorial/commit/13536d609a2d0fceed2662615df37291def2e330 해당 클래스의 역할은, Camera 를 조절할 수 있는 다양성 및 변동성을 Client 단에 넘기기 위함이다. 실제 Camera Class 가 가져야할 Core 정보들은 Projection, View Matrix 등의 요소들이다. 그런데 경우에 따라 Camera 의 Pos, Rot 을 조절해서 각 게임의 특성에 맞게 Customizing 할 필요가 있을 수 있다. 따라서 이를 위해 Camera 를 감싼, 일종의 Wrapper 로서 Camera Controller Class 가 존재한다고 생각하면 된다. Zoom 적용하기 bool Orth.. 더보기
230503 자체 엔진 개발 : Shader Asset File System https://github.com/ohbumjun/GameEngineTutorial/tree/0422ce9729ceefe6010ed09b90444ea2884fff44 GitHub - ohbumjun/GameEngineTutorialContribute to ohbumjun/GameEngineTutorial development by creating an account on GitHub.github.com 과정이제 glsl 이라는 파일에 내가 사용할 Shader Code 를 작성-> 하드웨어에 존재하는 glsl 파일로부터 Shader Code Load-> Shader Code 를 Vertex, Fragment Shader 코드를 분리해서, 각각을 OpenGL 에 매핑시키기 쉐이더 코드#type vertex#.. 더보기
230502 Hazel GameEngine : Texture Blending https://github.com/ohbumjun/GameEngineTutorial/commit/0099fe921d491702a2ecff3e2915ab33200c9cc2 블랜딩 이란 ? 반투명 혹은 투명 물체를 Rendering 할 때 어떻게 처리할 것인가에 대한 것이다. 즉, 이미 프레임 버퍼에 렌더링된 색상 + 현재 렌더링 하는 색상. OpenGLRendererAPI::Init void OpenGLRendererAPI::Init() { // Blending 허용 glEnable(GL_BLEND); // Blending Function 정의 ex) glBlendFunc(src, dest) // - src : src RGBA 계산 방법 (기본 : GL_ONE == 현재 그리는 색상 그대로 가져감) // .. 더보기
230501 자체 엔진 개발 : Texture System https://github.com/ohbumjun/GameEngineTutorial/commit/78b8a6bc619757867e8fd1b1c0997972fe40eccb feat(Engine) Create Texture, Texture Sub Classes · ohbumjun/GameEngineTutorial@78b8a6bShow file tree Showing 11 changed files with 8,415 additions and 91 deletions.github.com Texture 클래스 구성Texture - Texture2D - OpenGLTexture2D - VulkanTexture2D - Texture3D - OpenGLTexture3D ..... 더보기
230430 자체 엔진 개발 : Camera system 참고 : http://egloos.zum.com/mataeoh/v/7295230 OpenGL vs DirectX이문서도 꼭 읽어보자! MatricesTips.pdf 1. 좌표계 OpenGL : 오른손 좌표계 DirectX : 왼손 좌표계 2. 행렬 ( Matrix ) https://msdn.microsoft.com/en-us/library/windows/desktop/bb509634(v=vs.85).aspx row major인지 coulmn majoregloos.zum.com World , View Matrix 행렬 계산 void OrthographicCamera::RecalculateViewMatrix(){ glm::mat4 transform = glm::translate(glm::mat4(1.f.. 더보기
230429 자체 엔진 개발 : VertexArray, VertexBuffer Layout, Renderer Flow 커밋 : https://github.com/ohbumjun/GameEngineTutorial/tree/4a0a7b5c267d602a6a0531c84dc715ca8f7c5a83 GitHub - ohbumjun/GameEngineTutorialContribute to ohbumjun/GameEngineTutorial development by creating an account on GitHub.github.comVertexAttribute, Layout- 쉽게 말하며 VertexBuffer 가 어떻게 구성되어 있는지를 GPU 측에 알려주는 것이다.  해당 정보가 없이 VertexBuffer 만을 GPU가 바라본다고 할때, VertexBuffer 는 단순히 byte 의 배열에 불과하다.  VertexAttr.. 더보기
투자를 강조하는 "마라맛" 책 < 2023.04. 부자 아빠 가난한 아빠 > 그 유명한 투자계의 "바이블" 같은 책을 드디어 보았다. 투자의 중요성을 강조하는 책이었지만, 부자 아빠와 가난한 아빠를 극단적으로, 그리고 자극적으로 대비하는 듯한 표현이 다소 불편했던 것도 사실이다. 마치 투자를 안하는 모든 사람을 멍청하고 현명하지 못한 사람들인 것 마냥 반복적으로 묘사하는 글은 납득하기 어려웠지만 이 또한 저자의 "전략" 이라는 생각이 들어서 그러려니 받아들였다. 하지만 분명히 해당 책을 통해서 다시 한번 느꼈던 점들. 그리고 이를 통해 실천한 점들을 정리할 수 있었다. 부자는 절대 돈을 위해 일하지 않는다. "야근" 의 가치.에 대해 얘기한 점이 특히나 다가왔다. 야근은 돈을 위해 일하는 행위인 반면 부자들은 돈을 위해 일하지 않는다. 돈이 돈을 벌어다주는 시스템을 구축하고자 노.. 더보기