opengl기초
-
opengl 삼각형 그리기3D웹 프로그래밍/opengl 2020. 11. 19. 13:32
삼각형 그리기 Opengl은 많은 프리미티브 타입을 제공한다. 그중에서 점, 선 ,삼각형이 제일 중요하다. 앞의 글에서 한 점을 그릴때 GL_POINTS값을 glDrawArrays()함수에 제공했는데, 이제 선이나 삼각형을 넣어보자. glDrawArrays()에 GL_LINES나 GL_TRIANGLES를 전달할수있다. 하지만 여기에 한가지 문제가있다. #version 430 core void main(void){ gl_Position =vec4(0.0,0.0,0.5,1.0); } 위와 같이 그전에 그렸던 버텍스 쉐이더는 모든 버텍스를 같은 위치에 배치한다. 즉, 클립 공간의 한가운데에 점을 그려도 OpenGL이 그릴 영역을 확보해주므로 별문제가 없다. 하지만 선이나 삼각형의 경우에는 둘 이상의 버텍스가 ..
-
기본적인 Opengl 프로그램 만들기3D웹 프로그래밍/opengl 2020. 11. 18. 18:32
모든 Opengl 함수는 gl 로 시작한다. #include class simpleclear_app : public sb6::application { void init() { static const char title[] = "Simple Clear"; sb6::application::init(); memcpy(info.title, title, sizeof(title)); } virtual void render(double currentTime) { static const GLfloat red[] = { 1.0f, 0.0f, 0.0f, 1.0f }; glClearBufferfv(GL_COLOR, 0, red); } }; DECLARE_MAIN(simpleclear_app) ㅇ 해당 함수의 일부 인자타입을..
-
Opengl과 그래픽스 파이프라인 및 Opengl 기초3D웹 프로그래밍/opengl 2020. 11. 18. 14:57
OpengL opengl은 자동차공장에서 바퀴를 만드는곳 그리고 차체를 만드는곳 따로 이루어지다가 마지막에 조립하며 완성품을 만들듯이 opengl도 파이프라인 분할과 병렬화를 조합하여 사용한다. Opengl 목표 애플리케이션과 그 하부의 그래픽스 서브시스템의 추상화 레이어를 제공한다. 그래픽스 서브시스템은 여러 고성능 프로세서로 이루어져있으며, 전용 메모리,디스플레이 출력 등을 가진다. 이 추상화 레이어를 통해 그래픽스 프로세스 유닛(graphihcs processing unit)(GPU)제작사가 어디인지, 어떻게 동작하는지 ,성능이 어떤지 알 필요가없다. Opengl은 설계 원칙이 높지도 낮지도 않은 추상화수준의 균형을 이룬다. 아래는 그래픽스 파이프라인 순서이다. 둥근박스는 고정이고 사각박스는 개발자..