분류 전체보기 916

5. Vertices_2)정점

2. Direct3D 정점Direct3D는 유연한 정점 포맷이라고 해서 프로그래머가 정점의 최적 정보만을 가질 수 있도록 그 형식을 설정할 수 있습니다.1) 1단계 : float x, y, z 좌표값2) 2단계 : float rhw (이미 변환된 정점에만 사용)3) 3단계 : 블랜딩 값4) 4단계 : 정점 법선5) 5단계 : 정점 포인트의 크기6) 6단계 : diffuse 값7) 7단계 : specular 색8) 1~8까지 텍스쳐 좌표쌍(u, v float 값)멤버 변수의 순서가 바뀌면 렌더링이 않되므로 순서를 지켜서 정의해야 합니다.정점의 구조체가 어떤 정보를 포함하는지에 대한 것은 아래의 값을 비트 OR연산하여 설정합니다.D3DFVF_DIFFUSE, D3DFVF_NORMAL, D3DFVF_SPECUL..

개발/Graphics 2014.10.17

5. Vertices_1)Vector

1. Vector- 벡터 구조체 D3DVECTOR구조체와 D3DXVECTOR3구조체를 제공, D3DXVECTOR3는 벡터를 연살할 수 있는 연산자 오버로딩이 제공됩니다.D3DVECTOR typedef struct D3DVECTOR { float x; float y; float z; } D3DVECTOR; D3DXVECTOR3 typedef struct D3DXVECTOR3 : public D3DVECTOR { public: D3DXVECTOR3() {}; D3DXVECTOR3( CONST FLOAT * ); D3DXVECTOR3( CONST D3DVECTOR& ); D3DXVECTOR3( CONST D3DXFLOAT16 * ); D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z ); ..

개발/Graphics 2014.10.17

C++/CLI 기본 예제

1. C++/CLI란?'C++/CLI'는 네이티브와 .NET의 중간 지점에 있는 또는 서로를 연결해 주는 언어라고 할 수 있습니다. 2. C++/CLI의 기본적인 흐름 C/C++코드를 C#에서 사용하는 기본적인 방법은 Wrapper 클래스를 통한 방법ㅇ비니다. C++코드를 컴파일 하여 Static Library 파일로 만듭니다. 만들어진 lib 파일을 C++/CLI를 이용해 감싸, dll 파일로 만듭니다. 이렇게 해서 C#에서 이용가능한 Managed Code를 만든 것입니다. C#에서는 C++/CLI로 만들어진 dll파일을 참조하여 사용하면 됩니다. 3. C++로 Native Code 만들기간단하게 두 개의 정수 인자를 받아서 합을 반환하는 함수를 만듭니다.파일->새로만들기->프로젝트, VisualC+..

동사 202개 모음

1. go - 출발점으로 부터의 이동.변화 자동사: 가다 , 출발하다, 나아가다, 도달하다, 떠나다, (어떤 상태로)되다, (어떤 장소에) 놓이다 Ex) I think we should go now. 이제 떠나야겠다.2. start - 운동의 시작 자동사: 시작하다, 움직이기 시작하다 , 출발하다 타동사: (~을) 시작하다 , 시동시키다 Ex) They started for London 그들은 런던으로 향했다.3. begin - 목적을 가진 동작의 개시 자동사: 시작하다, 말을 꺼내다. 타동사: (~을) 시작하다, 을 하기 시작하다. Ex) School begins at 8. 학교는 8시에 시작한다.4. leave - 그대로 두고 떠나다 자동사: 가다, 떠나다 타동사: (~을) 맡기다 , (~을,인) 채..

기타 2014.10.15

4. DirectX 프레임워크(framework)

1. 프레임워크란? 프레임워크란 골격이라는 의미로 코드를 작성하기 위해 제공되는 틀을 말합니다. 2. 프레임워크 구조 코드는 크게 Direct3D셋업에 대한 클래스와 게임에 관한 코드로 구분할 수 있습니다.셋업클래스는 게임프로그래머에게 공통된 환경을 제공하고,게임 코드를 작성하는 클래스는 이 클래스를 상속하여 사용합니다. 게임 코드는 실제 게임과 관련된 내용만 들어갑니다. 3. 셋업클래스 생성 위 이미지와 같이 선택 후 클래스 파일을 하나 생성합니다. 그리고 다음과 같이 코딩합니다. 이 클래스는 전부 셋업과 해제에 관한 내용이며, InitD3D(), Render(), Cleanup()은 클래스의 멤버함수가 되고, g_pD3D변수와 g_pd3dDevice는 클래스의 멤버변수가 됩니다. InitD3d(), ..

개발/Graphics 2014.10.14

3. DirectX 기본환경 설정

1. 프로젝트 생성File-> 새 프로젝트 -> 'Win32 프로젝트' 선택 후 확인, 응용 프로그램 마법사에서 마침 선택합니다. 2. Win32 API 기본 코드 생성 - 엑셀레이터 코드 삭제 WIn32 API를 자동생성 코드로 생성하면 엑셀레이터 코드가 자동 생성됩니다. 엑셀레이터 코드는 단축키와 관련된 코드로, 다이렉트x에서는 사용되지 않습니다. 아래 노란색 영역을 지우고, 관련된 부분을 모두 삭제합니다.관련 코드를 모두 삭제하고, 실행시켜보면 다음과 같은 화면이 나옵니다. - 윈도우 핸들 g_hWnd 추가윈도우 핸들 g_hWnd를 전역변수로 추가한 후, InitInstance 함수를 다음과 같이 수정합니다.* Direct 3D환경의 셋업, 렌더링, 릴리즈 등 많은 곳에서 윈도우 핸들을 많이 사용하..

개발/Graphics 2014.10.14

2. WPF + OpenCV(dll)

C++로 구현된 OpenCV를 dll로 파일로 만들어 C#으로 된 WPF에서 사용하는 예제입니다. 1. OpenCV 설치[http://huiyu.tistory.com/45] 2. C++ Win32 Console Application 생성 3. 다음 클릭 후, dll 선택. 완료 4. OpenCV 프로젝트 설정[http://huiyu.tistory.com/45] 5.아래 코드 입력 // ImageProcessAgain.cpp : Defines the exported functions for the DLL application. // #include "stdafx.h" #include "opencv\cv.h" #include "opencv\highgui.h" extern "C" { __declspec(dll..

1. OpenCV 설치하기

1. OpenCV 2.4.10 설치하기다운로드다운로드를 마친 후 인스톨러를 실행한다. 그리고 설치할 폴더를 선택(저는 C:\), 인스톨이 끝나면 C:\에 OpenCV가 생긴 것을 확인할 수 있다. 2. 환경변수 설정내컴퓨터 - 시스템 속성 - 고급시스템 설정 - 고급 -환경변수 '시스템 변수에' 탭에서 Path를 수정한다.기존의 변수 뒤에 ';'을 추가한 뒤 아래 경로를 넣는다.C:\opencv\build\x86\vc10\binCLASSPATH 변수에도 똑같이 추가한다. 만약 없다면 새로 만들기를 눌러 추가한다.*모든 과정이 끝나면 PC를 재부팅한다. 3. 프로젝트 설정File->New->Project Visual C++탭에서 -> Win32 -> Win32 Console Application 생성소스파..

2. DirectX 설치, VisualStudio 2010 설정, 프로젝트 생성

1. SDK 다운로드아래의 링크에서 다이렉트x 다운(June 2010)다운로드 다운받은 뒤, 순서대로 설치 진행 2. Visual Studio 2010 설정 도구->옵션->'VC++ 디렉터리' 선택 시 아래의 창이 나온다.Visual 2008의 경우 VC++Directory를 옵션에서 통합으로 설정 할 수 있었다. 그러나 2010버전은 위와같은 화면이 나오고, 이제는 각 프로젝트마다 설정을 해주어야 한다고 한다. 그러나 통합으로 설정하는 방법이 있다.먼저 Win32 프로젝트를 생성 후(빈프로젝트), 솔루션 탐색기의 하단 부분에 '속성 관리자' 탭을 클릭한다. (속성관리자 탭이 없을 경우, 보기->다른 창-> '속성 관리자'를 선택하면 된다) '속성관리자' 창에서 위의 두개(Debug와 Release의 M..

개발/Graphics 2014.10.07

1. 3D 기초 용어

1. 3차원 좌표계(3D Coordinate System) -왼손 좌표계와 오른손 좌표계가 있다. D3D의 경우 기본적으로 왼손 좌표계를 기준으로 하고, OpenGL의 경우, 왼손과 오른손 좌표계를 선택하여 사용할 수 있다.2. 벡터(Vector) -가속도나 속도처럼 크기와 방향을 동시에 표현하는 숫자*스칼라 : 기압과 속력처럼 하나의 값으로 표시 가능한 숫자(방향x) 3. 정점(Vertex) -2차원이나 3차원 공간에서 위치(Position)를 나타내는 점(Point) 4. 변환(Transform) -가장 기본적인 변환에는 이동(Transition), 회전(Rotation), 크기(Scale) 변환이 있다. 이들은 모두 행렬로 표현된다.*이동과 회전만으로 이루어진 행렬을 아핀변환(Affine Trans..

개발/Graphics 2014.10.06
반응형