Loading...

dx10 파이프라인.

먼가..요즘은 dx10으로만 코딩을하다보니..정리를.해줄필요가.있는것같아서. dx10은 고정기능 파이프라인은 지원하지 않고 세이더 파이프라인만 지원한다. 왜? 고정기능을 벗은 파이프라인은 이전보다 더 자유롭게 장치를 제어할 수 있고 융통성이 뛰어나니까. 즉, 이전에는 건들지 못했던 것도 건들수 있게 된게지... 물론 이전에 건들수 있는것들조차 제대로 건들어 보지 못하긴 했지만..ㅜㅜ. 우선 세이더를 간단히 정의 내리면 GPU에 의해 실행되는 간단한 프로그램이라고 생각하면 된다. dx10에서의 파이프 라인은 Input Assembler(IA-입력조립기), VertexShader(VS-정점쉐이더), GeometryShader(GS-기하쉐이더), Rasterizer(RS-래스터화), PixelShader(PS..

템플릿 인자와 템플릿 파라미터

argument 와 parameta... 코드는 "인자를 전달하여 파라미터로 만든다." 떄로는 인자를 실제 파라미터, 파라미터를 형식적 파라미터라고 부르기도 한다. template class ArrayInClass{ public : T array[N]; }; int main() { ArrayInClass ad; } - 템플릿 파라미터는 템플릿 선언이나 정의에서 키워드 template 다음에 나열된 이름들이다. 위의 예에서는 T와 N이 된다. - 템플릿 인자는 템플릿 파라미터의 자리에 대신 들어갈 아이템이다. 위의 예에서는 double와 10이다. 기본적으로 모든 템플릿 인자는 컴파일시에 결정될 수 있는 양이나 값이어야 한다. 템플릿 파라미터는 컴파일할 때 결국 값으로 치환되므로 이들은 컴파일 시 표현식을..

선언과 정의

추가적인 상항으로 선언과 정의에 대해.. 선언 : c++가 그 이름을 c++영역에 도입하거나 재도입 한다는 뜻. 이러한 도입시에는 항상 그 이름의 부분분류가 포함되지만 세부사항이 꼭 필요하진 않다. ex) class c: c를 클래스로 선언 void f(int p); f()를 p라는 파라미터를 갖는 함수로 선언 extern int v; v를 변수로 선언 goto create_fail; 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다. #define DATAPATH "d:" 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다. 위의 예를 보면 매크로와 goto라벨은 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다. 정의 : 그 구조의 세부사항이 알려지거나 변수라면 저장공간이 할당될 ..

dx10에서의 multi stream single index rendering & multi stream multi index rendering

Multi-Stream Single-Index Rendering in Direct3D 10 The setup is similar for performing multi-stream single-index rendering in Direct3D 10. The same vertex buffers are created (position, normal, texture coordinates, alternate texture coordinates). The sample then creates and input layout incorporating the separate vertex streams. Again, the purpose is to make the multiple vertex streams look like..

인스턴스화와 특수화

템플릿에서 인자를 실제 값으로 치환해 템플릿을 일반 클래스, 함수나 멤버 함수로 생성하는 과정을 템플릿 인스턴스화 라고 한다. 그 결과 생성된 실체(클래스, 함수 또는 멤버함수)를 일반적으로 특수화 라고 한다. 하지만 인스턴스화만이 특수화를 하는 유일한 방법은 아니다. 템플릿 파라미터를 특별히 치환해 명시적 특수화를 선언하는 방법도 있고, 부분적으로만 특수화 한 부분특수화도 있다. tempate // 일반 클래스 템플릿 class MyClass { .. } template // 명시적 특수화 class MyClass { .. } template // 부분 특수화 class MyClass { .. } template // 부분 특수화 class MyClass { .. }

Resource (자원)

dx10에서의 자원은 버퍼와 텍스쳐의 두가지 타입이 있다. msdn을 참고해 보면 아래와 같다. ID3D10Resource Interface A resource interface provides common actions on all resources.IUnknown ID3D10DeviceChild ID3D10Resource 즉, 모든 자원에 대한 공통 기능은 ID3D10Resource 인터페이스로 구현된다는 것을 알 수 있다. 이 인터페이스를 상속받아구현된 인터페이스들로는 ID3DBuffer, ID3D10TextureXD, ID3D10TextureCuber가 있다. 자원은 비디오 메모리에 존재하게 된다. 자원의 생성시에는 Usage와 CPUAcessFlags를 설정할 수 있다. Usage CPU와 GP..

문자표

글쓸때마다 불편해서 복사.ㅎㅎ. 은근히 편하다. 。 · ‥ … 〃­―∥\¨∼‘’“”′″ ♭♩♪♬◆☆★◐◑○●◎⊙◈◇△▲▽▼□■◁◀▷▶◇◆♤♠♡♥♧♣ ☏☎☜☞※¤♨†‡㈜㉿▣▒▤▥▨▧▦▩♂♀¶ ℃℉Å¢£¥₩°。‰¡¿~ˇ˘⌒˚ →←↑↓↔↕↗↙↖↘⇒⇔∀∃∏∂∇∫∬∮§×∴±∵÷≠≤≥≒≡√∑ 〔〕《〈〉《》≫「」『』【 】∈∋⊆⊇⊂⊃∪∩∧∨÷∞∝∽∠⊥ ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮ ㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭ ㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ æΔΦΨΩαβγδεζηθικλμνξοπρστυφχψω ㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎛㎟㎠㎡㎢㏊㎍㏈㎧㎨㎰㎶Ω㎮㎯㏆ ½⅓⅔¼¾⅛⅜⅝⅞¹²³⁴ⁿ₁₂₃

함수 템플릿에 문자열 리터럴을 인자로 사용.

함수템플릿의 레퍼런스 파라미터로 문자열을 전달할경우 일어날수 있는 일들. template inline T const & max( T const & a, T const & b ) { return a [ 1> T=const char [5] 1> ] 머야.이건...ㅡㅡ;...무서워.. 참조자로 받지 않으면 어떻게 되니?? t..