# miniRT

30개의 포스트
post-thumbnail

원형 연결 리스트를 이용한 카메라 전환

구체를 만들고 난 뒤 다른 오브젝트를 만들려고 할 때쯤 이러한 오브젝트를 만드는 것 말고 다른 기능이 존재해야하나? 라고 생각한 뒤 과제를 확인해보았고, 거기서 카메라가 2대 이상일 때 키보드로 전환이 가능해야하는 문제에 직면하였다.🤦‍♂️ 그 글을 보자마자 아차

2021년 1월 30일
·
0개의 댓글
post-thumbnail

miniRT 진행(7) Error report (ing)

<오류 및 대안>210120(수) 버그 발생$\\rightarrow$ 210121(목) 해결https://askubuntu.com/questions/893922/ubuntu-16-04-gives-x-error-of-failed-request-badvalu

2021년 1월 22일
·
0개의 댓글
post-thumbnail

miniRT 진행(6) 과제 내용과 초반 설계 방법

https://yeosong1.github.io/miniRT이 사이트에서 과제 내용을 먼저 알아보자.그러면 우리는 .rt라는 파일을 이용하여이러한 내용을 집어넣어 오브젝트가 형성되고 결과 창이 나와야 한다.그러면 .rt의 정보를 받았을 때 read하여 공백,

2021년 1월 19일
·
0개의 댓글
post-thumbnail

01. 하늘그리기

하늘그리기 전 글에서 간단한 창을 띄워봤으니 이번엔 하늘색 그라데이션이 들어간 창을 띄워보는 코드를 작성해보았다. 많은 데이터들을 함수들간에 주고 받기 위해서 몇개의 구조체를 만들었으며 앞으로도 필요한 구조체는 추가할 예정이다. vec구조체는 vector를 나타내는

2021년 1월 19일
·
0개의 댓글
post-thumbnail

miniRT 진행(5) 진행하기 앞서 알아야 하는 내용 정리 (ing)

광선 (ray) 그림으로 알아보자면, 여기서 origin은 있는 위치를 뜻한다.

2021년 1월 18일
·
0개의 댓글
post-thumbnail

miniRT mlx.h 사용해보기.

mlx.h mlx 라이브러리 사용 해보기

2021년 1월 16일
·
0개의 댓글
post-thumbnail

miniRT

Raytracing in Oneweekend(https://raytracing.github.io/books/RayTracingInOneWeekend.html

2021년 1월 16일
·
0개의 댓글
post-thumbnail

miniRT 진행(4) 빛 반사된 공 만들기

전 포스팅에서 진행한 곳에서 벡터의 구 방정식을 이용하여 구체를 만들어보았다.

2021년 1월 12일
·
0개의 댓글
post-thumbnail

miniRT 진행(3) 벡터 연산, 광선, 카메라 만들기

백터를 통한 이미지 생성을 해보았다.그렇다면 이번엔 ray 구조체를 만들고 이 ray를 통해 스크린으로 쏘는 과정을 나타낼 것이다.이때를 위하여 백터의 사칙연산, 내적, 외적, 단위벡터, 벡터의 길이를 구하는 공식을 코드로 구현 한다.백터의 사칙연산백터의 내적, 외적백

2021년 1월 6일
·
0개의 댓글
post-thumbnail

miniRT 진행(2) mlx 튜토리얼 -2 미니그림판 만들기

그렇다면 이제 대표적인 C++ Ray tracing인 https://raytracing.github.io/books/RayTracingInOneWeekend.html이 내용을 토대로 만들어볼 것이다. 그런데 이 방식대로 진행하신 분들이 있어서 이 점을 참고하여

2020년 12월 31일
·
0개의 댓글
post-thumbnail

miniRT 진행(1) mlx 튜토리얼 -1

검은 화면이 만들어진다. mlx_new_window(mlx_ptr, 500, 500, "mlx_test"); 에서 500은 각각 x, y 해상도이고,다음 " "안에 들어가는 것은 만들어진 화면의 이름을 나타낸다.https://developer.mozilla.o

2020년 12월 28일
·
0개의 댓글

랜더링 수학

두 개의 교점으로 일차방정식을 구하려면, $$(x_1,y_1), (x_2, y_2)$$ 의 두개의 점이 있을 때일차 방정식은 $$y =\\cfrac{y_2-y_1}{x_2 - x_1}x + b$$ 의 형태이다.여기서 a는 기울기이고, b는 y절편이다.

2020년 12월 22일
·
0개의 댓글
post-thumbnail

광선 추적이란 무엇일까?

이미지의 픽셀 하나하나를 통과하는 광선들이 있다 가정하고 그 광선을 역추적하는 방식이다.링크텍스트

2020년 12월 21일
·
0개의 댓글
post-thumbnail

[miniRT] 4. 광선 구조체 만들기

레이 트레이싱을 구현하기 위해서는 광선을 쏘아 픽셀에 어떤 색이 보이는지 계산하기 위한 광선 구조체가 필요합니다. 광선은 P(t) = A + tb 로 나타낼 수 있습니다. A는 광선의 원점이고 b는 광선의 방향입니다. t는 실수입니다. t값을 변경하면 광선 상의 어떠한

2020년 11월 28일
·
0개의 댓글
post-thumbnail

[miniRT] 3. 벡터 구조체 만들기

그래픽 연산을 하기 위해 필요한 벡터 구조체와 벡터 함수들을 만들겠습니다. 이 벡터 구조체로 색상, 위치, 방향 등등의 많은 것들을 표현할 수 있습니다.먼저 벡터 구조체와 함수의 선언을 vec3.h 헤더 파일에 작성합니다.벡터 구조체벡터 사칙연산 함수벡터 내적, 외적

2020년 11월 26일
·
0개의 댓글
post-thumbnail

[miniRT] 2. 키보드 입력으로 도형 움직이기

키보드 입력으로 위에서 생성한 삼각형을 움직여보도록 하겠습니다.miniLibX에서 키보드, 마우스 등으로부터 입력을 받기 위해서 이벤트 개념을 알아야 합니다. 이벤트는 프로그램에 의해 감지되고 처리될 수 있는 동작이나 사건을 말합니다(위키백과). miniLibX는 이벤

2020년 11월 23일
·
0개의 댓글
post-thumbnail

[miniRT] 1. miniLibX로 윈도우 생성과 간단한 도형 그리기

miniRT/cub3d 프로젝트는 miniLibX 그래픽 라이브러리를 사용하여 구현합니다.그러므로 먼저 miniLibX로 윈도우를 생성하고 간단한 도형을 그려보겠습니다.1\. 그래픽 시스템 연결우선, 작성한 프로그램과 디스플레이 사이의 연결을 초기화하기 위해서 mlx_

2020년 11월 19일
·
0개의 댓글
post-thumbnail

[42cursurs]Ray Tracing in One Weekend 12-Defocus Blur

마지막 기능으로 Blur 효과를 만들어 보자. Blur는 이미지를 흐리게 하는 효과다. 원문은 반영하고자하는 현실의 카메라에서 일어나는 현상을 설명한다. 하지만 저걸 다 구현할 게 아니므로 목표인 Blur를 위해 필요한 것만 챙기자. Blur, 즉 이미지를 흐릿하게하는

2020년 10월 26일
·
0개의 댓글
post-thumbnail

[42cursurs]Ray Tracing in One Weekend 11-Positionable Camera

이번엔 카메라 기능들을 구현해 본다. 먼저 시야를 조정하는 데 쓰는 field of view(fov)를 구현하자. fov는 수직, 수평 중 수직 fov를 사용할 것이다. 결국 fov가 뭐하는 거냐면, 지금까지 같은 뷰포트로 이미지를 출력했다면 fov값으로 뷰포트의 크기

2020년 10월 24일
·
0개의 댓글
post-thumbnail

[42cursurs]Ray Tracing in One Weekend 10-Dielectrics

이번 챕터는 Dialectrics라는 material을 구현해 본다. 물, 유리, 다이아몬드 같은 투명한 물질을 Dielectrics(유전체)라고 한다. 광선이 Dialectrics에 닿으면 반사된 광선과 굴절되는 광선으로 나뉜다. 우리는 이 두 현상 중에서 무작위로

2020년 10월 23일
·
0개의 댓글