vec3 클래스, 컬러 유틸리티 함수
·
Graphics/Ray Tracing in One Weekend
대부분의 그래픽스 프로그램은 벡터와 색상을 저장하기 위한 클래스를 가진다.색을 표현할 때 RGB와 alpha transparency를 저장하기 위해 4차원 벡터를 사용하기도 하지만, 여기에선 우선 3차원 벡터만 사용한다.vec3 클래스는 색, 위치, 방향, 오프셋 등등 다양한 값을 저장하기 위해 사용한다.vec3를 using 키워드를 통해 별칭을 지정할 수 있다. 이는 코드의 의도를 더 파악하기 쉽게 해준다.// vec3.h#ifndef VEC3_H#define VEC3_H#include #include class vec3 { public: double e[3]; vec3() : e{0,0,0} {} vec3(double e0, double e1, double e2) : e{e0, e1..
PPM 이미지 포맷
·
Graphics/Ray Tracing in One Weekend
그래픽스 라이브러리를 사용하지 않고 레이 트레이서를 구현하려고 한다.이미지 출력은 PPM 포맷을 사용한다.PPM 포맷PPM은 컬러 이미지를 저장하는 텍스트 기반의 비트맵 포맷이다.텍스트 내용은 다음과 같이 구성된다:첫 줄의 P3는 RGB 컬러임을 의미함그 다음 줄에는 이미지의 width와 height를 지정위의 두 텍스트를 적었다면, 그 다음 줄부터는 픽셀들이 각 행마다 쓰여짐각 행은 왼쪽에서 오른쪽으로 쓰여짐위의 픽셀의 내용을 C++의 표준 출력을 통해 ppm 파일에 작성하면 된다.#include int main() { // Image int image_width = 256; int image_height = 256; // Render std::cout 빌드 후 실행하면 다음..
snwdaaa
'그래픽스' 태그의 글 목록