Loading...

__int8, __int16, __int32, __int64

Microsoft Specific Microsoft C/C++ features support for sized integer types. You can declare 8-, 16-, 32-, or 64-bit integer variables by using the __intn type specifier, where n is 8, 16, 32, or 64. The following example declares one variable for each of these types of sized integers: Copy __int8 nSmall; // Declares 8-bit integer __int16 nMedium; // Declares 16-bit integer __int32 nLarge; // De..

volatile

출처 : http://kldp.org/node/4016 뉴스그룹에서 검색한 volatile 키워드관한 글입니다. 글쓴이Jaeho Kang (onuri__at__kornet.net) 제목Re register와 volatile 키워드 뉴스그룹han.comp.lang.c 날짜2000/04/07 volatile의 경우 어떤 의미에서는 앞에서 설명한 컴파일러의 최적화와 관 계있습니다. 그 외에도 CPU 내, 외부의 캐쉬와 갈은 하드웨어적인 최적화 와도 관계가 있습니다. volatile 키워드가 가장 많이 사용되는 경우의 하나가 memory-mapped I/O 인 경우입니다. 메모리의 특정 영역을 특정 장치와 연결하여 사용하는 방 법입니다. 가장 흔한 예가 비디오 메모리가 되겠고, 그 이외에도 많은 장 치들을 이러..

mec++에 있는 auto_ptr

template class auto_ptr { public: explicit auto_ptr(T* p = 0); // 복사 생성자용 멤버 템플릿 template auto_ptr(auto_ptr& rhs); ~auto_ptr(); // 대입연산자용 멤버 템플릿 template auto_ptr& operator=(auto_ptr& rhs); T& operator*() const; T* operator->() const; T* get() const; // 현재의 dumb 포인터를 반환 T* release(); // 현재의 dumb 포인터에 대한 소유권을 박탈하고 그 포인터값을 반환 void reset(T* p=0); // 가지고 있는 포인터를 삭제 private: T* pointee; template frie..

none MFC에서 memory leak난 부분 찾기

http://blog.naver.com/codecastle?Redirect=Log&logNo=100036823549 none MFC에서 memory leak난 부분 찾기 1.요약 MFC를 사용하지 않는 프로젝트에서 memory leak난 부분을 trace하는 방법을 설명. 2.본문 만약 MFC를 쓰지않고 프로젝트(exe)를 만들게 되면 MFC를 쓴 프로젝트와 같이 메모리릭이 일어난 소스코드의 파일과 라인넘버가 나오지 않게 된다. 이유는 우리가 MFC를 짠 프로젝트에서 new나 alloc을 할때 DEBUG모드에서는 특별한 함수가 실행되기 때문일텐데, 이부분이 MFC에 종속적이기 때문이었다. 그래서 MFC에서 쓰는 방법과 동일하게 new를 만들어 보기로 했다. 일반적으로 VC에서 클래스를 만들면 *.cpp에..

2010. 5. 24. 00:39

RasterizerStateMesh

정점을 처리하는 기하처리 단계에서 정점을 입력받아 단편(fragment)들을 출력한다. 각 픽셀의 정보들을 클립공간에서 표현한 것이다. 뷰포트 변환을 사용하여 클립공간에서의 정점의 위치와 렌더타겟에서의 픽셀의 위치와의 관계를 계산한다. 래스터화 스테이지는 기본도형들을 클리핑하고, 기본 도형들 내의 픽셀들을 계산하여 각 픽셀마다 단편을 생성하여 픽셀셰이더를 호출하는 기능을 수행한다. .cpp 에서의 지정 D3D10_RASTERIZER_DESC rsdesc; ::ZeroMemory(&rsdesc, sizeof(rsdesc)); rsdesc.FillMode = D3D10_FILL_SOLID; rsdesc.CULLMode = D3D10_CULL_BACK; rsdesc.FrontCounterClockwise = ..

2010. 5. 23. 22:10

x파일 로딩

dx10에서는 dx파일을 위한 api를 지원하지 않아 dx9의 api를 사용하여 컨버팅 해야 한다. 책 예제의 클래스를 들고와서 유니코드 부분만 조금 고쳤다.

2010. 5. 23. 17:54

메쉬에 맵핑

아놔..먼가 계속했던거 하는 느낌이야..ㅡㅡ;. 언제까지 울궈먹을려고하는겐지... 기본 빛계산은 까먹으면 안되니까 다시 적어주고. float4 PS( PS_Input input ) : SV_Target { float3 lightDirection = float3(1.0f, -1.0f, 1.0f); float4 A = float4(0.2f, 0.2f, 0.2f, 1.0f); float3 E = float3(0.0f, 1.0f, -2.0f); float3 L = -normalize(lightDirection); float3 N = normalize(input.normal); float P = 8.0f; // power float D = saturate(dot(input.normal, L)); // diffus..

2010. 5. 23. 15:15

Texture Mapping

딱히...할만한.말이.없다. 굳이 있다면. 실수하지 말자는 정도. 그리고 상수값이 업데이트 되는 정도에 따라 상수버퍼를 따로 잡는게 좋다. cbuffer cbNerverChange { matrix matView; }; cbuffer cbChangeOnResize { matrix matProjection; }; cbuffer cgChangeEveryFrame { matrix matWorld; }; cbuffer cbConstant { float3 lightDirection = float3(1.0f, -1.0f, 1.0f); float4 ambientColor = float4(0.1f, 0.1f, 0.1f, 1.0f); }; float4 PS( PS_Input input ) : SV_Target { floa..