본문 바로가기

opengl16

[컴퓨터그래픽스] 소용돌이 실습 (함수 사용하지 않기) void RenderScene(void) { glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); GLfloat rotation[16] = { cos(30.0), 0, -sin(30.0), 0, 0, 1, 0, 0, sin(30.0), 0, cos(30.0), 0, 0, 0, 0, 1 }; GLfloat translation[16] = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.1, 0, 1 }; glPushMatrix(); glColor3f(0.5f, 0.5f, 0.5f); glPointSize(3); glBegin(GL_POINTS); glVertex4f(0.25f, 0.8f, 0.0f, 1.0f); glEnd();.. 2021. 4. 3.
[그래픽스] 기초 수학 (1) - 좌표계, 점, 행렬 * Computer Graphics Programming in OpenGL with C++ 책을 참고하였습니다. * 책을 번역한 것이 아닌, 제가 독학 후 책을 참고하여 설명하는 게시물입니다. 따라서 책에 없는 부연 설명이 있기도 하며, 의역 또는 오역, 오개념이 있을 수 있습니다. 피드백은 댓글을 남겨주세요. * 영어 용어를 최대한 한국어로 번역하지 않습니다. 처음부터 코드에서 사용되는, 또는 원서나 인터넷에서 사용되는 보편적 용어를 사용하여 개념을 잡는 것을 추천드립니다. ​ ​ 책의 챕터 3은 그래픽에 유용하게 사용될 수학적 기초를 소개합니다. 선형대수학의 기본 지식들을 포함하여 그래픽스 프로그램에서 자주 사용하는 공식들이 대부분이죠. 저는 이번 게시글에서 아주 기본적인 수학 부분은 생략하고, 새로.. 2020. 10. 15.
[그래픽스] 파일에서 GLSL 소스코드 읽기 * Computer Graphics Programming in OpenGL with C++ 책을 참고하였습니다. * 책을 번역한 것이 아닌, 제가 독학 후 책을 참고하여 설명하는 게시물입니다. 따라서 책에 없는 부연 설명이 있기도 하며, 의역 또는 오역, 오개념이 있을 수 있습니다. 피드백은 댓글을 남겨주세요. * 영어 용어를 최대한 한국어로 번역하지 않습니다. 처음부터 코드에서 사용되는, 또는 원서나 인터넷에서 사용되는 보편적 용어를 사용하여 개념을 잡는 것을 추천드립니다. ​ ​ 지난 '쉐이더' 게시글(https://goeden.tistory.com/10)에서 살펴본 [Program 2.2]는 쉐이더 코드가 main.cpp 안에 문자열로 존재했습니다. 하지만 쉐이더 코드를 따로 파일로 저장하여, ma.. 2020. 6. 8.
[그래픽스] OpenGL과 GLSL의 오류 검출 * Computer Graphics Programming in OpenGL with C++ 책을 참고하였습니다. * 책을 번역한 것이 아닌, 제가 독학 후 책을 참고하여 설명하는 게시물입니다. 따라서 책에 없는 부연 설명이 있기도 하며, 의역 또는 오역, 오개념이 있을 수 있습니다. 피드백은 댓글을 남겨주세요. * 영어 용어를 최대한 한국어로 번역하지 않습니다. 처음부터 코드에서 사용되는, 또는 원서나 인터넷에서 사용되는 보편적 용어를 사용하여 개념을 잡는 것을 추천드립니다. ​ ​ GLSL 코드의 컴파일은 C++ 런타임 중에 진행됩니다. 즉, 쉐이더 코드는 빌드 후에 컴파일이 시작되는 것입니다. 또한 GLSL 코드는 CPU가 아닌 GPU에서 실행되기 때문에, OS(운영체제)가 OpenGL 런타임 에러를.. 2020. 6. 8.
[그래픽스] OpenGL 프로그램 개요 * Computer Graphics Programming in OpenGL with C++ 책을 참고하였습니다. * 이 블로그 업로드는 그래픽스의 파이프라인을 어느정도 이해한 분이 OpenGL을 공부할 목적으로 본다고 생각하고 작성되었습니다. 사실 전혀 모르는 상태에서 보아도 무방하지만, 더 정확한 이해를 위해 한번 정도 찾아 읽어보고 오실 것을 추천합니다. 추후에 관련 내용을 업로드 하도록 하겠습니다. * 책을 번역한 것이 아닌, 제가 독학 후 책을 참고하여 설명하는 게시물입니다. 따라서 책에 없는 부연 설명이 있기도 하며, 의역 또는 오역, 오개념이 있을 수 있습니다. 피드백은 댓글을 남겨주세요. ​ ​ ​ OpenGL/C++ 응용 프로그램(application)은 다음과 같은 단계를 거쳐 GLSL .. 2020. 6. 1.
[그래픽스] 컴퓨터 그래픽스 프로그래밍 개발 환경 구축 (Windows, MacOS) 그래픽스 교재 구매 링크 (원서) Windows OpenGL 개발환경 구축 MacOS OpenGL 개발환경 구축 + 이 교재에서 요구하는 texture mapping을 정확하게 수행하기 위해서는, 윈도우 환경에서 학습하실 것을 추천합니다. Computer Graphics Programming in Opengl Using C++ 책으로 만나는 새로운 세상 book.naver.com "Computer Graphics Programming in OpenGL with C++"라는 위 교재로 공부 후 업로드합니다. 현재까지 번역본이 없어 원서로 학습 후 한글로 업로드할 예정입니다. Windows 환경 구축 MacOS 개발 환경의 한계를 느껴 데스크탑을 맞췄습니다. Windows 에서 다시 개발 환경을 구축해봅시다.. 2020. 5. 22.
[컴퓨터그래픽스] 세가지 방법으로 오각형 그리기, OpenGL에서 primitive 그리기, glVertex, glDrawArrays, glDrawElements 이번 학기 컴퓨터 그래픽스 과목 첫 번째 실습은 바로, '세 가지 방법으로 오각형 그리기'이다. OpenGL 애플리케이션에서 primitave를 그리는 방식은 세 가지가 있는데, glBegin - glVertex - glEnd를 사용하는 방법과, glDrawArrays를 사용하는 방법, glDrawElements를 사용하는 방법이다. glBegin - glVertex - glEnd 직접 vertex의 위치를 지정하여 그려주는 방식이다. 먼저 glBegin()을 실행해야 한다. 이 때 parameter로 primitive의 종류*를 정해준다. 1) glBegin(GL_POINTS) 2) glBegin(GL_TRIANGLES) 3) glBegin(GL_POLYGON) ... 등등 glBegin()의 뒤를 이.. 2020. 5. 22.