@ 2004-06-06 @
1.c for graphic의 약칭(HLSL과 100% 호환)
20040226 2.Nvidia 사이트에서 Cgsdk를 다운 받은후 설치하면
VC6의 환경셋팅은 자동으로 실행
3.Cg는 D3D, opengl에서 모두 사용가능
추가로 윈도우, 리눅스 매킨토시, Xbox에서도 사용가능
4.Cg(*.cg)는 컴파일시 필요한 버전으로 셋팅할 수 있다.HLSL ; 윈도우에서만 사용가능 OGLSL(opengl shader language) ; 멀티 플래폼
( H/W가 지원하는 버전으로 자동변환 )
5.C++같은 범용적인 성격이 아니므로 배우기가 쉽다.HLSL(*.fx)도 마찬가지
포인터 X, 클래스 X
6.CgFx == HLSL ==> MAX, softImage, Maya배열 O, 구조체 O 0-1.라이브러리 추가설치(CgGL/ CgD3D9) --> 용량이 커짐
D3D 입장에서 보면 겹치는 기능을 가진 라이브러리를 추가 설치한다는 단점
0-2.사운드 라이브러리
입력장치
0-3.보이는 부분만 처리하자!!캐릭터툴 ;
ASE등-->뷰어기능(70% 이상)-->txt, Binary+ 기능 추가(예, 능력치부여/ 힘-20 체력-11)
맵툴 ; MMORPG 등이벡터툴 UI툴 ; 인터페이스의 능동적인 배치
1) 절두체 컬링
2) 보이는 부분에서만 충돌체크 처리 3) occlusinn 컬링
Cg -> 초기화, 로드, 운영, 초기setting
6.2 A Pulsating Object(144p)shader --> HLSL progran --> OGLSL
new position --> old position + sin파 영향
0.Displacement는 vertex의 위치가 변하는 것Normal은 vertex의 position이 변하는 애니메이션이나 Displacement에 대해서는
반드시 "재정의"해 주어야한다 !!
하드웨어적인 조건을 바꿀 수 없기 때문에 저사양/ 고사양을 고려해서 작성
CPU보다는 GPU를 이용하는게 좋다.
6.5.2 Vertex Skinning in a Vertex program
uniform float4 boneMatrix72, 이 코드 사용하면 Nvidia에서 바로 시스템 다운됨
7.1.1 Cube Map Textures( H/W적인 제약사항은 미리 알고 있어야함) 0.멀티스트림을 이용하면 "가중치"를 이용해서 버텍스간의 보간을 할 수 있다. ( 스트림간의 보간 ) 0-1.음성처리 ; 입모양을 모음을 기준으로 스트림에 적용
0/ 1(아)/ 2(이)/ 3(우)/ 4(에)/ 5(오)/ 6(우)/ 7(으)
0-2.얼굴표정 ; 머리부분의 입과 표정을 스트림의 이용해서 다양하게 변화시킬 수 있다.0-3.DirectX Sample Browser에서 DolphinVS 참고
float3 reflect( I, N) --> (x, y, z) 값에서 가장 큰 값을 기준반사맵을 사용
7.2 Reflective Environment Mapping
uv값을 제일 큰 값을 제외한 각 요소/제일 큰 값 형태로 계산
예) --> ( 0.1, 0.2, 0.9 )일 때, +Z 면의 맵을 반사맵으로 사용
uv값은 0.1/0.9, 0.2/0.9로 계산된다.
큐브맵을 이용한 반사맵의 디테일은 1024, ... ,64나 별차이 없음
==> 환경맵을 이용한 반사가 정확할 필요성이 적기 때문에 버텍스에서 계산해도 충분한 결과 나옴
lerp( decalColor, reflectdeColor, reflectivity); 두색을 비율에 맞춰서 섞는다.
7.3 Refractive Environment Mapping
refrace( I, N, etaRatio );
7.4.2 Chromatic Dispersion ; RGB 색상에 따른 굴절률을 다르게 적용 |
"Say it, don't spray it!" 나무_메모 책갈피_MyCheese 바람_gems_Level 책갈피_Games |