언제 끝날지 모르는 이 프로젝트를 시작하기에 앞서서 짧게 글을 남깁니다.
LearnOpengl이라는 사이트가 있습니다. 이곳은 그래픽스가 무엇인지에 대해서 배울 수 있는 오픈 튜토리얼 입니다.
무료로 제공되고 있긴 한데, 모든 문서가 영어이기 때문에 언어에 대한 부담감을 느끼는 분들이 있을 거라 생각합니다. 번역을 하는 이유는 영어에 부담감을 느끼지만, 컴퓨터그래픽스를 배우고 싶은 분들을 위해서이기도 하고 스스로 컴퓨터 그래픽스를 다시 한번 보면서 복습하고 싶은 마음도 있었기 때문에 LearnOpengl 이라는 곳을 한번 번역해보자라고 마음먹었습니다. 그냥 가벼운 마음으로 시작하는 거라서 이 프로젝트를 끝낼 수 있을지 단언은 못하겠습니다. 중간에 하다가 바쁜 일이 생겨서 못할 수 도 있고...최대한 번역해 보려고 시도는 해볼 생각이지만...
저의 번역본을 읽기 전에 하나 염두해 둬야 할게 있습니다. 완벽하게 직역을 하지는 않을 생각입니다.
번역을 하다가 원본에는 없지만 추가되는 부분이 있을 수 있습니다. 또한 불필요하다고 판단되는 부분은 자세히 설명하지 않을 수 도 있습니다. 원본이 궁금한 분들을 위해서 번역페이지와 LearnOpenGL 링크를 첨부할 테니 참고해 주시기 바랍니다.
저의 실력이 미숙해서 잘못된 부분이 있을 수 도 있습니다. 그런 경우에 알려주시면 수정하겠습니다.
그럼 시작하겠습니다.
출처 : learnopengl.com/
원문 : learnopengl.com/Introduction
소개(Introduction)
이 글을 보는 여러분들은 아마 컴퓨터그래픽스의 내부 동작원리에 대해서 배우고 컴퓨터 그래픽스를 스스로 구현해보고 싶다는 생각을 가지고 있을 것입니다. 컴퓨터그래픽스를 스스로 구현해보는 것은 매우 재미있고, 그래픽스 프로그래밍에 대한 이해를 높여 줍니다. 그러나 컴퓨터그래픽스를 시작하기 전에 몇가지 고려해야 할 사항들이 있습니다.
전제조건(Prerequisites)
OpenGL은 플랫폼이 아닌 그래픽스 API입니다. 이 문서에서는 C++을 이용해서 진행 할 예정이기 때문에 C++ 프로그래밍 지식이 어느 정도 필요합니다. C++에 대해서 전문가 수준의 지식을 요구하는 것은 아니지만, 기본적인 문법이나 사용법은 알고 있어야 합니다. C++에 대한 경험이나 지식이 부족하다면 아래의 튜토리얼 링크를 참고 할 것을 추천드립니다.
또한, 그래픽스를 배우는 과정에서 선형대수, 기하학, 삼각법과 같은 수학적인 지식을 이용합니다. 필요로 하는 수학 개념들을 설명하려고 노력할 것입니다. 그러나 수학에 관한 문서가 아니기 때문에 설명이 불완전할 수 있습니다. 그렇기 때문에 필요한 경우에는 좀 더 잘 설명되어 있는 자료들을 제공할 것입니다. OpenGL을 시작하기도 전에, 요구되는 수학적인 지식에 때문에 너무 부담을 가지지 않으셔도 됩니다. 대부분의 개념들은 기본적인 수학적 지식이 있으면 이해할 수 있고, 수학에 대한 것은 최소화 할 생각입니다. 대부분의 OpenGL의 기능들은 수학적 지식 없이 사용하는 방법만 알아도 구현하는데는 큰 문제는 없습니다.
구조(Structure)
이 문서의 서술방식에 대한 내용입니다. 이 문서는 설명하는 개념에 따라서 여러 챕터로 나뉩니다. (ex. 라이팅, 쉐도잉, 텍스쳐링...etc) 각각의 내용들은 서로 다른 개념들이긴 하지만, 특별한 이유가 없다면 순서대로 보는 것을 추천합니다.
각각의 챕터들은 이론적인 부분에 대해서 설명을 하고 구현을 하는 방식으로 구성되어 있습니다.
개념을 좀더 쉽게 배울 수 있도록, 이 문서에는 boxes, code blocks, color hints, function references와 같은 여러가지 기호들을 사용합니다.
Boxes
Code
앞으로 보게 될 문서에서 아래와 같은 코드 상자들을 많이 보게 될 것입니다.
//This box contains code
위와 같은 상자들은 코드의 한 부분만을 보여주기 때문에, 필요한 경우에 전체 코드를 제공할 것입니다.
Color hints
다른 색상을 표시되는 단어들은 특별한 의미를 나타냅니다.
- 정의 : 녹색 단어는 정의를 의미합니다.
- 프로그램 구조 : 빨간색 단어는 함수 이름 또는 클래스의 이름을 의미합니다.
- 변수 : 파란색 단어는 OpenGL에서의 상수와 변수를 의미합니다.
OpenGL Function references
LearnOpenGL에서의 특징적인 기능이라고 할 수 있습니다. 문서 중간 중간에 빨간색 밑줄로 표시된 부분이 존재합니다. 예시) glEnable 원래문서에서는 마우스를 위에 올리면 함수의 관련정보에 대한 팝업창이 표시되는데, 블로그에서는 원문과 같은 팝업창 구현의 불편함이 존재함으로, 좀 더 편한 방식으로 서술하겠습니다.
'컴퓨터 > learnopengl 번역' 카테고리의 다른 글
[Learn OpenGL 번역]Creating a Window(Getting started) (0) | 2021.05.27 |
---|---|
[Learn OpenGL 번역]OpenGL(Getting started) (0) | 2021.05.11 |