연구실/파편화된 기록들 검색 결과
new[] 관해서는 typedef가 독이지만, typedef 는 사실 여러 방면으로 쓸모가 많다. 나 같은 경우에는 .. 컨테이너 사용 할때, 컨테이너의 이터레이터를 줄이기 위해서 사용 하곤 한다. 하지만 typedef의 진정한 의미는 바로 따로 있다. 진정한 의미 C++ 에서의 typedef 는 가독성과 코드 수정을 한줄로 만들어 줄께와 같다. 여기서 가독성은 쉽게 이해가 가는데 C++ 에서의 코드 수정은 좀 갸우뚱 할 것이다. C++ 은 OOP 적으로 코딩이 가능한데, OOP의 꽃~ 캡슐화와 typedef 와 맞물리면 코드 수정이 엄청나게 간편해 진다. 예를 들어, 데이터를 관리하기 위해서 컨테이너를 골라야 했다. 대부분의 데이터가 마지막에 들어가고, 마지막에서 지워 진다는것을 알게됬고 나는 VECT..
babo_ptr은 내가 실험삼아 만드는 스마트 포인터 이다. 메모리 릭 테스트도 다 끝냈다. 이 상태에서 .. 두 스마트 포인터의 비교... 우선 shared_ptr을 조금 밖에 분석을 못했는데, 1. 쓰레드 동기화 기법도 들어갔다. 2. shared_ptr 8바이트, count 용 8바이트 3. 기본적인 예외처리 되어 있음 babo_ptr 은.. 1. 쓰레드 동기화를 뺏다. 2. babo_ptr은 8바이트, 중 count 용 4바이트 를 소모 한다. 3. 예외처리 안되어 있음;; 이렇게 만들었다. .. 생성 시간 비교에선 babo_ptr이 약간 빠르다. 이건 당연할듯 4바이트 적게 생성하니까.. 문제는 .. 소멸할 때, babo_ptr은 약 10초라면 shared_ptr은 5초이다. 도저히 이해가 가지..
정점으로 폴라곤을 그리는 방법에 대해서 배우는 장이다. 용어에 대해서는 1장에서 했으니 넘기고.. 정점을 뿌리기 위해서는 그래픽카드가 인지해야 하는데, 인지하기 위해서는 특정 함수로 그래픽카드 메모리(또는 시스템메모리)에 공간을 확보하는 작업을 해야 한다. 확보한 공간을 정점 버퍼 또는 버텍스 버퍼 라 불리는데, 이제부터 버텍스 버퍼라 부르겠다. 버텍스 버퍼를 갖기 위해서는 정점 포맷을 결정해야 하는데, FVF(사용자 정의 정점 형식)을 이용하라고 DirectX는 권고하고 있다. 이것에 맞추지 않으면 전기적 쇼크가 뇌리에도 미치게 되니 자세히 알아야 할것이라고 책은 설명한다. 버텍스 버퍼를 만들면, 해당 버텍스 버퍼를 사용할 객체에 대한 포인터를 가져올수 있다. 이 객체는 인터페이스 객체로, 해당 버텍스..
Direct3D 객체를 생성해 이것으로 디바이스(Device) 생성하는 방법을 코드로써 알려 준다. 여기서 짚고 넘어가야 할 부분은 바로 Direct3D 객체와 Device 객체를 먼저 알아야 한다. DirectX 가 버전이 있다는것을 다들 알고 있다. 사용하기 불편했다고 하던 1~7 씨리즈 가장 많이 변했다고 하던 8 씨리즈, 그리고 현재 가장 많이 사용하며, 우리가 공부해야 할 9 씨리즈, 그리고 앞으로 사용 한다고 하는 10 씨리즈, 이때 Direct3D 객채는 윈속 로드와 비슷한 개념으로 생각된다(개인적으로 이렇게 본다). 도움말에선 "Direct3D 능력을 열거 및 얻어온다" 라고 설명되어 있다. 이 객체를 선언하는 방법은 없고, 특정 함수로 로드해 포인터를 뱉어내는 함수를 이용하는 방법이 있다..
01 개요 : 따라해 보기 예제에 대한 간단한 흝어보기 음.. 이 부분은 DirectX SDK 를 설치하면, 확인할수 있는데 나의 경우 "C:\Program Files\Microsoft DirectX SDK (June 2008)\Samples\C++\Direct3D\Tutorials" 이곳에 있다. 이 Tutorials 폴더에 있는 예제 목록들은 각 단계별로 DirectX의 사용법에 대한 소스코드로 이것을 보면서 익혀보자는 것이다. 2장 2챕터 부터 차근 차근 하니 이정도만 정리 하고 넘긴다.
최근댓글