퐁의 반영 반사광은 반사벡터를 구해야 한다는 조건이 따르게 된다. 하지만 특정 컴퓨터에서 반사벡터를 구하는게 무리일 수가 있어, 퐁 같은 효과를 내면서 연산을 줄일수 있을까? 생각을 하게 된다. 그렇게 나온것은 블린-퐁 반영 반사광이다. 사람들은 유심히 퐁 반영 반사광을 보다가 한가지 규칙을 찾았다. L 은 빛 벡터 E 는 눈 벡터 H 는 L와 E의 중간 각도 벡터 N 는 법선 벡터 여기서 한가지 숨겨진 규칙을 찾자면, L 의 반사벡터가 R 이 있다고 친다면 L 과 R의 중간 각도의 벡터는 당연히 N 벡터가 될 것이다. 즉 L 벡터와 반사벡터의 중간 벡터는 H 벡터이며, H 벡터와 N 벡터는 같은 벡터 일 것이다.. 잠깐 뒤로 생각해 본자, 퐁 반영 반사광에서 반사 벡터와 눈 벡터가 0도 즉, 같은 방향..
분류 전체보기 검색 결과
낱말 부터 풀이하는게 좋을듯 싶다. 퐁은 사람 이름이다. 반영(反影)은 빛이 반사되어 비침을 뜻한다. 반사광이란, ... 반사된 빛이다. 즉, 퐁이 제안한 빛이 반사되어진 부분의 물채 색(반사된 빛이 .. 물채 색을 뜻 한다)이다 자동차를 예로 들어 보자, 자동차가 도로에 지나다닐때 반짝 반짝 거리는 것을 볼수있다. 이 반짝 반짝 거리는 부분이 바로 반영 반사광이다. 그렇다면 퐁이 계산했던 반영반사광 원리 를 알아보자. vLight 는 빛의 입사 벡터 이다. vRLight 는 빛의 입사된 벡터의 반사 벡터이다. vEye 는 입사 눈 벡터이다. vNorMal 은 물체의 법선 벡터를 말한다. 퐁은 vRLight 와 vEye 가 가까워 질때, 반영 반사광이 쌔진다는 정리를 하였다. 식으로 정리하자면, vRL ..
환경광도 빛이긴 한데, 왜 이런 이름이 붙여 졌을까? 빛의 상태나 빛의 생성 과정, 빛의 색 등에 따라 사람들은 그 빛에 이름을 붙였다. ( 어떻게 보면, 이런 이름을 붙임으로써 널리 사람들에게 쉽게 전파가 되어 지지 않을까 한다. ) 환경광은 빛a가 물체 A에 부딪혀, 반사되어진 빛a가 물체 B에 다시 부딛혔을 때, 빛a는 물체B에 대하여 환경광(Ambient Light)라고 할 수 있다. 이런 빛을 다른 말로 간접광이라고도 하는데, 물체B에게 빛a는 간접적인 빛이기 때문이다. 이런 특성으로 인하여, 한 물체에 환경광은 복잡하게 부딛치게 되며, 여러 방향에서 발견되어 진다. 어찌보면 물체의 전반적인 부위에 평균적인 환경광량 만큼 물체에 부딛치게 되는 것이다. 백과사전에서 찾은 환경광의 정의이다. 표시해..
빛 이란, 과학적으로 설명된것을 인용하자면 즉, 일정한 에너지를 갖도록 셀 수있게 되어 있다에 초점을 둘 수 있다. 이런 빛 입자가 물체에 부딪치면, 흡수되어 지거나, 반사되어 진다. 각 물체의 재질에 따라 흡수 또는 반사 되어지는 빛 입자 종류가 다르며, 이런 차이로 서로 다르다는 것을 분별할수 있게 된다. 그런 분별력으로 각 차이의 명칭을 정했다. 이것은 색이라 불리며, 빨강색, 녹색, 파랑색 등의 세부 명칭을 둘수 있다. 빛의 흡수와 반사는 물체와 빛의 위치에 따른 입사각에 의해서 달라 질수 있다. 원리는 입사각이 0도 ~ 180도에서 90도가 원래 빛의 량을 받는다 했을 때, 90도가 전후로 그 빛의 량이 넒은 면적으로 흩어져 단위면적당 빛의 량이 줄어든다. 그림을 예로 들자면 이런 식을때, 빛의..
HLSL은 부울, 정수, 부동소수점, 벡터, 행렬, 구조체 등의 데이터 타입을 지원한다. 분류를 나누면, 크게 스칼라 타입과 벡터타입, 그리고 구조체타입이 있다. 스칼라 타입 타입 값 bool true 또는 false 를 갖으며, C의 bool 과 같다. int 32비트 부호있는 정수, C의 int 와 같다. half 16비트 부동소수점, float 의 반토막 float 32비트 부동소수점, C의 float 과 같다. double 64비트 부동소수점, C의 double과 같다. 변수 선언 및 배열 선언은 C언어와 동일하다. 타입 수식어 const row_major 또는 col_major const 키워드 1. 상수성을 부여한다. 2. C와 동일하다. 3. 선언과 함께 초기화 해야 한다. row_major..
컴파일이 안될경우 1. 1>d3dfile.cpp(151) : error C2664: 'D3DXLoadMeshFromXof' : 매개 변수 1을(를) 'LPDIRECTXFILEDATA'에서 'LPD3DXFILEDATA'(으)로 변환할 수 없습니다. 해결 방법 D3DXLoadMeshFromXof 의 첫번째 인자를 (LPD3DXFILEDATA) 로 형 변환 시킨다. 2. 1>d3dfile.h(55) : error C2061: 구문 오류 : 식별자 'LPDIRECTXFILEDATA' 해결방법 에러나는 부근에 #include 헤더파일을 추가 한다. 3. 1>LINK : fatal error LNK1104: 'd3dx9dt.lib' 파일을 열 수 없습니다. 해결방법 라이브러리 d3dx9dt.lib 에서 d3dx9d..
최근댓글