3D Graphics/Shader
-
Shader Programming for DirectX(1)3D Graphics/Shader 2008. 3. 28. 16:36
걍 수업들으면서 멍하니 있는거보다는 뭔가라도 남기고자 HLSL에 대한 글을 씁니다. 이 연재는 학기중이에는 계속 진행될듯 하네요~ㅎㅎ 간간히 이번에 진행하는 게임에 대한 포스트도 올릴테니 많은 관심 부탁드려요~^^ 제가 올리는 이 글이 다른 분들에게 도움이 되면 좋겠습니다~^^ 이 글에서 잘못된 내용은 코맨트 달아주시면 수정하도록 하겠습니다. 자~ 그럼 시작해 볼까요? 일단 DirectX에 대한 내용은 자세히는 다루지 않겠습니다. 필요한 경우에만 관련 내용을 이야기 하겠지만 DirectX에 대한 내용은 책에도 많으니 뭐~ㅎㅎ 일단 쉐이더 프로그래밍을 하기위해서는 DIrectX에서 쉐이더 초기화를 해줘야 합니다. 우선적으로 다음과 같이 쉐이더코드를 gpu로 올리는 과정을 수행해줍니다. HRESULT hr;..
-
[CG-Fragment] texture3D Graphics/Shader 2007. 11. 7. 17:03
샘플러 객체 - CG가 값을 가져올 수 있는 외부의 객체 sample1D - 1D texture sample2D - 2D texture(데칼, 법선맵, 광택맵, 그림자맵 등등) sample3D - 3D texture(입체적 데이터, 3D 감쇄 함수들) sampleCUBE - 입방체맵 텍스쳐(환경맵, 정규 입방체맵) sampleRECT - 2의 승수가 아니고 밉맵지원 안되는 텍스쳐(비디오 이미지, 사진, 기타등등) 쉐이더로 읽어오는 값은 외부에서 필터링된 값을 읽어온다. 실제 읽어오는 값은 SetTexture로 지정된 텍스쳐 값... tex2D(텍스쳐,좌표값);
-
shader 1.x 설명..3D Graphics/Shader 2007. 11. 2. 15:36
버텍스 쉐이더 협조 퐁쉐이딩 구현. 쉐이더 Ver 1.0 ~ 1.3 v0 - 디퓨트 컬러 v1 - 스펙큘러 컬러 t0 - 0번 텍스쳐 좌표값 t1 - 1번 텍스쳐 좌표값 t2 - 2번 텍스쳐 좌표값 t3 - 3번 텍스쳐 좌표값 (각각 128bit 레지스터) (같은 T0레지스터라도 텍스쳐 좌표을 읽을수도 있고 텍스쳐 컬러값을 읽어올 수도 있다.) t1에 노말벡터 성분값. t2에 l벡터 성분값. 두성분을 내적하면 퐁쉐이딩~! tex - 텍스쳐값을 읽어온다. texbem - 엠바이먼트 법프맵(??) texbeml - 비슷한거.. texcoord - 텍스쳐의 텍셀값을 읽어온다. texdp3 - 3성분 텍스쳐 내적 texkill - 텍스쳐 값이 하나라도 0이면 막는다.(유사 클리핑) 자세한 설명은 아래 사이트 참..
-
GLSL 강좌(1)3D Graphics/Shader 2007. 6. 23. 10:26
이번에 OpenGL에서 쉐이더를 사용하게 되면서 GLSL을 공부했습니다. 아직 저도 배우는 중이지만 나름대로의 경험을 바탕으로 몇줄 적어보고자 합니다. GLSL이란 OpenGL에서 쉐이더를 지원하기 위해 나온 고급 언어입니다. 이미 Direct X에서는 HLSL이라는 고급언어가 있고 Nvidia사에서 CG라는 고급 쉐이디 언어를 지원하기에 OpenGL 진영에서도 2.0부터 전격적으로 도입했다더군요. 뭐 사설은 여기까지 하고 일단 내 그래픽카드가 GLSL를 지원하나부터 알아봅시다. OpenGL의 고급기능을 쓰기 위해서는 확장기능을 이용해야 합니다. 이번 첫 강좌에서는 확장기능을 어떻게 사용하는지 알아봅시다. printf("opengl 버전 : %s\n",glGetString(GL_VERSION)); 자 저..
-
cgfx 안에서 쓸 수 있는 state3D Graphics/Shader 2007. 4. 16. 02:33
Available state variables Binding Underlying State --------------------------------- --------------------------- state.matrix.modelview[n] modelview matrix n state.matrix.projection projection matrix state.matrix.mvp modelview-projection matrix state.matrix.texture[n] texture matrix n state.material.ambient (r,g,b,a) front ambient material color state.material.diffuse (r,g,b,a) front diffuse mat..
-
nVidia GPU List3D Graphics/Shader 2007. 4. 16. 02:33
nvsdk 10에 들어있던 자료로 nVidia 그래픽 카드 전체에 대한 코드명과 제품명이 들어있다. ID Chip Product 1 NV5 TNT2 2 NV5 TNT2 Pro 3 NV5 Vanta LT 4 NV5 Vanta A 5 NV10 Geforce 256 6 NV10 Quadro 2 7 NV11 Geforce2 MX 8 NV11 Geforce2 Go 9 NV11 Quadro 2 Go 10 NV15 Geforce2 GTS 11 NV16 Geforce2 Ultra 12 NV16 Geforce2 Ti 13 NV16 Quadro2 Pro 14 NV17 Geforce4 MX 15 NV17-M Geforce4 4x0 Go 16 NV17-NVS Quadro4 x00 NVS 17 NV17-GL Quadro4 x0..
-
Visual Studio에서 GLSL로 작성된 쉐이더를 Syntax Hightlight 시켜서 보기3D Graphics/Shader 2007. 4. 16. 02:31
GLSL 로 작성된 쉐이더의 소스코드를 볼 때에도 아래의 nVidia Cg에서 처럼의 Syntax Highlight를 적용시키고 싶었다. 흰바탕에 검정글씨, 파란 글씨만 있는 것은 눈에 들어오지 않아서, 약간의 웹서핑 후에 다음의 사이트를 찾게 되었다. Syntax Coloring in Visual Studio .NET 그리고 관련된 파일은 여기에 있다. http://www.clockworkcoders.com/oglsl/OGLSL-syntaxcolor-1.0.zip 여 기에 있는 파일들을 바탕으로 지금 내가 사용하는 설정에 맞도록 수정한 파일은 다운로드 받도록 해놓았다. 차이점은 usertype.dat 파일에 키워드들을 정리해 놓는데, 나는 Cg와 GLSL을 모두 사용하게 되어서 양쪽의 키워드를 모두 적..