1. 서론
안녕하세요 깃갤 형님들.
OpenGL을 입문하고서 만들어보고 싶었던
shader를 만들 수 있게되어 글을 남기고자 합니다.
셰이더를 처음접한것은
shadertoy의 템플릿에서였습니다.
엄청 어려울 줄 알았는데
그래도 얼마없는 지식가지고도 만들 수 있다는게 신기했네요.
윈도우 라이브러리로는 `glfw`를 사용하였습니다.
2. 구현
draw 방식은
glDrawElements로
삼각형 2개를 indexed drawing 하였습니다.
즉, 버텍스를 4개만 사용하였습니다.
그라데이션 효과자체는
메인 렌더루프에서 구현하지 않았습니다.
물론 루프에서
시간(glfwGetTime)과 cmath의 cos, sin을 적절히 섞어서
유니폼으로 던져줄 수 있었으나
셰이더에서 처리하는 게 코드상 깔끔한 것 같아서 였습니다.
vertex attribute에 컬러 데이터를 넣어주지 않고
오직 position값만 던져주었습니다.
// main.cpp
컬러처리는 vertex shader에서
layout으로 받아와 (ourPos)
단순히 fragment shader로 포워딩해줬습니다.
// main.fs
입문자인 저로서는
vec3(0,2,4)라는 어떻게 저리
딱맞는 보정값을 찾아준 건지 신기하기만하네요.
아무튼 좋은 저녁보내시고
혹시 틀리거나 부족하게 설명된 부분이있다면
가감없이 지적해주시면 감사하겠습니다.
멋있어요
삽고수
Ray Marching 공부해보시기 바랍니다.
히히 안그래도 몇개 레퍼런스잡고 시도해보고있어요
무슨 직군에서 일함? 프론트엔드?
부럽네요... 먹고살려고 그래픽스 잠시 접었는데 하... ㅠ
저도 접었다가 최근에 다시 시작하고있어용!! - dc App
개고수... 멋져요 저도 opengl 공부하려는데 어떻게 공부하면 될까요