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. 이전 1 2 다음