Loading...

cbuffer

Constant Buffers Starting with Direct3D 10, an application can use a constant buffer to set shader constants (shader variables). dx10에서는 쉐이더 상수(변수)를 위해 상수버퍼를 사용한다. Constant buffers are declared using a syntax similar to C-style structs. 상수버퍼는 c스타일의 구조체와 비슷한 문법으로 선언된다. Constant buffers reduce the bandwidth required to update shader constants by allowing shader constants to be grouped together and..

2009. 11. 11. 15:24

Alternatives to Using Z-Bias to Fix Z-Fighting Issues

Z 충돌 이슈를 수정하기 위해 Z 바이어스를 사용하는 것에 대한 대안들 소개 By Matt McClellan and Kipp Owens 3D 응용프로그램 내에는 두 개의 폴리곤들이 같은 평면 상에 놓여 있는 많은 인스턴스들이 존재한다. 예를 들면 총알 자국이나 벽의 포스터와 같은 이펙트의 경우이다. 이런 폴리곤들은 같은 평면상에 놓여 있기 때문에 그것들은 같은 z-buffer 값을 공유하며, 이것은 "z-fighting" 이슈를 발생시킬 수 있다. 이것은 렌더링 순서에 의해서 다양하게 나타날 수 있다. 과거에는 DirectX* 가 개발자가 "z-bias" 를 동일 평면상의 폴리곤에 적용할 수 있게 함으로써 z-fighting 이슈를 해결할 수 있게 해 주었다. z-bias 를 적용하는 것은 효율적인 해결..

D3DXMatrixLookAtLH

왜 항상 가장 간단한걸 까먹을까.. 기초가 부족해서 겠지? ㅎㅎ D3DXMatrixLookAtLH 함수 왼손 좌표계 뷰 행렬을 생성 한다. 구문 D3DXMATRIX *D3DXMatrixLookAtLH( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt, CONST D3DXVECTOR3 *pUp ); 파라미터 pOut [in, out] 연산 결과인 D3DXMATRIX 구조체의 포인터. pEye [in] 시점을 정의하는 D3DXVECTOR3 구조체의 포인터. 이 값은, 평행이동에 사용된다. pAt [in] 카메라의 주시 대상을 정의하는 D3DXVECTOR3 구조체의 포인터. pUp [in] 현재 월드의 윗쪽, 일반적으로는 [0, 1, 0] ..

max plugin과 max script의 차이점

max plugin과 max script의 차이점 max plugin의 장점 - C++로 개발하기 때문에 속도가 빠르다. - Max의 디테일한 기능까지 사용이 가능하다. max plugin의 단점 - C++ 프로그램 언어를 알아야만 개발이 가능하다. - 3ds max 버전별로 대응해야만 한다. 맥스 버전이 바뀌면 다시 컴파일 해주어야 한다. max script의 장점 - 기본적인 문법의 스크립트를 사용하기 때문에 쉽게 익힐 수 있다. - 3ds max 버전별로 대응할 필요가 없다. ( 모든 버전에서 동일한 스크립트가 사용 가능하다.( 예외도 있다. ) ) max script의 단점 - 속도가 느린 편이다. - 스크립트 엔진에서 제공하지 않는 기능은 사용하기가 힘들다. max plugin 개발 준비 NEW..

2009. 9. 13. 21:43

Surface Texture Mapping

Surface 의 특질을 제대로 표현하기 위해서는 Texture mapping 기술에 대하여 제대로알아 둘 필요가 있습니다.. Surface 의 특질을 표현하기 위하여 각각의 surface 는 blue, red, green 등의 컬러의 집합체에 의하여 정의 되어진다고 생각해도 크게 틀리지 않을 것 입니다.. 실제 세계에서는 많은 surface 들이 여러가지 색깔을 가지고 있습니다.. 나무는 나뭇결의 변화 있는 모습을 보여 주고 있고.. 옷감의 경우는 또 다른 예를 보여 주게 되는데.. 이것은 종종 다색 이라기 보다는 단색의 반복적인 patterns 으로 나타나게 되어지는 경우도 있습니다.. 대부분의 기본적인 Texture mapping 의 종류는 Three - dimensional model 의 surf..

shader version 맞춰주기.

vs2.0과 ps3.0은 안된다.. 이렇게 해도 컴파일러가 에러를 뱉어주지 않으니까 되는줄 알고 초낸 삽질했는데.. 이녀석들은 맞춰주는게 좋다.

알파블렌드와 알파테스트

http://www.gpgstudy.com/forum/viewtopic.php?p=79452 알파블렌드는 블랜딩 설정에 따라 색상이 혼합되는 것이고, 알파테스트는 설정값을 기준으로 해당되는 범위의 값을 제거 하는 겁니다. D3DRS_ALPHATESTENABLE 픽셀마다 알파 테스트를 유효하게 하려면 , TRUE 를 설정한다. 테스트가 성공하면 픽셀이 frame buffer에 의해 처리된다. 실패 하면, 그 픽셀의 모든 frame buffer 처리는 스킵 된다. D3DRS_ALPHAFUNC 렌더링 스테이트에 의해 제공되는 비교 함수를 사용해, 들어 오는 알파값을 기준 알파값과 비교해 테스트를 실시한다. 기준 알파값은,D3DRS_ALPHAREF 의 설정값으로 정해진다. 더 자세한 정보는, 「알파 실험 스테이..

알파 메쉬 랜더링 - 참고자료

Drawing alpha-tested foliage nicely GpgStudy - 깨지지 않는 알파 블랜딩 noerror님의 알파 메쉬 랜더링 z write D3DRS_ZWRITEENABLE 을 사용하는 이유가 무엇인가요? *알파 블랜딩? - 폴리곤을 랜더링할 때, 폴리곤 색을 그냥 출력하는 것이 아니라 이미 랜더링된 화면에 여러 가지 합성을 해서 출력하는 방법. *어떤 합섯을 할지를 결정( D3DRS_BLENDOP) 최종 색 = 합성법( A * 랜더링할 폴리곤 색, B * 이미 랜더링된 색) Ex) D3DBLENDOP_ADD : 최종 색 = A * 랜더링할 폴리곤 색 + B * 이미 랜더링된 색 나머지는 SDK 참고.. *합성 강도 SRCBLEND : 랜더링할 폴리곤 색 DESTBLEND : 이미 랜..