전체 글 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

[해외탐방 3기] 5~6일차_유니버셜 스튜디오

LA Universial Studio Hollywood 오늘의 일정은 LA 유니버셜 스튜디오 투어입니다. 하루종일 돌아다녀도 다 둘러보기 힘들다고 하여 아침일찍 나와 오픈을 기다렸습니다. 유니버셜 스튜디오는 유명영화의 세트 및 특수촬영장면, 스턴트 쇼 등을 관람할 수 있는 일종의 놀이공원입니다. 하루종일 즐겼는데도, 시간이 아깝지 않을 퀄리티와 리얼리티를 자랑했답니다. 입구 앞에는 유니버셜 스튜디오의 상징, 유니버셜 스튜디오 로고가 새겨진 지구본이 돌아가고 있습니다. 저희도 이 순간을 기억하기 위해 단체 사진을 찍고 개인별 포토타임을 가졌습니다. 입장 전 안내도를 보고 모두 기구의 위치를 파악하고 동선을 미리 계획해뒀습니다. 유니버셜 스튜디오는 크게 3가지 코스로 구분되어 있습니다. 스튜디오 투어는 트램..

취미/여행 2014.09.24

[해외탐방 3기] 4일차_샌프란시스코~LA 일정

1. Computer History Museum 넷째 날 아침, 우리의 첫 일정은 컴퓨터의 모든 역사를 한 눈에 볼 수 있는 컴퓨터 히스토리 박물관에 방문했습니다. 컴퓨터 히스토리 박물관은 세계 최대 규모의 컴퓨터 박물관입니다. 입장전 단체사진 찍고, 가이드의 설명과 함께 본격적인 관람 시작! 컴퓨터 박물관의 첫 전시실에 전시되어 있는 것은 다름 아닌 주판이었습니다. 컴퓨터(Computer)란 '계산하다'라는 뜻의 'compurate'에서 유래된 만큼 컴퓨터 이전의 전통적인 계산 도구인 주판이 국가별로 전시되어 있습니다. 실제 전시품은 고대의 주판을 어떻게 사용하는지 설명이 자세히 나와 있었고, 실제 전시품을 이용해 계산도 해볼 수 있었습니다. 본격적인 컴퓨터의 탄생을 소개해 놓은 코너입니다. 기계식 계..

취미/여행 2014.09.23
반응형