강의 내용 : DirectX 개요 DirectX 9 을 이용한 시각화. 목 차 DirectX 출현 배경 DirectX 현재 버전 DirectX 장점 DirectX 구성요소 DirectX SDK 다운로드 및 설치 DirectX SDK 폴더 구성 및 역할 샘플 코드 브라우저.

Slides:



Advertisements
Similar presentations
Windows 10 표준제안서. 개요 주요 기능 새로운 앱 제품정보 및 문의.
Advertisements

제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
Computer Graphics 윈도우 프로그래밍 김 창 헌김 창 헌. Computer Graphics 2 윈도우 시스템  윈도우  스크린 위에서 독립적으로 움직일 수 있는 사각형 영역  윈도우 시스템  유저와 어플리케이션간의 그래픽 스크린을 통한 인터페이스 를.
미디어 프로그래밍 II 소개.
땅 따먹기 박중규,나민하 나와 바~악!.
2장. 윈도우즈 입출력 1/211 1.
안 보여 줄끼가? 소프트웨어 프로젝트 1 – 제안서 발표 피바다 (A6)조 발표자 : 조기수.
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
Lab 6 Guide: 교재 14장 DLL 예제. Regular DLL 만들기 - 암시적 연결 ( 쪽) 명시적 연결 ( 쪽)
윈도우 운영체제와 윈도우 응용 프로그램의 특징을 이해한다.
제1장 윈도우 프로그래밍 1.1 윈도우 프로그래밍의 개념 1.2 윈도우 프로그램의 기본 구조
동명대학교 게임공학과 강영민 게임프로그래밍 1 강의노트 01.
DirectX9를 이용한 3D GAME 프로그래밍 입문
도서관 무선네트워크 사용법 (XP, VISTA)
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
노무관리 교육 10분만 시간 내십시오 복잡하게 보이는 노무관리 완벽하게 이해시켜 드립니다. 1.
오목게임 W32 로봇시스템제어(하) GROUP 7 노성동, 하선웅, 김관준
Lab 3 Guide: 교재 4장 대화상자 예제. - 프로파일 입력 ( 쪽)
에서 ( 탭 – [인기 다운로드 | 모든 다운로드] ) Visual Studio 2015
제12장 유연한 카메라 클래스 만들기 학기 컴퓨터게임(DirectX).
1. C 언어의 이해와 컴파일러 설치.
윤 홍 란 MFC 기초 윤 홍 란
PDA & PC Webhard Network Project 오민식, 김상용, 배은희.
제9장. 모바일 3D 그래픽스 기술.
C언어 개요 게임프로그래밍.
Kasimov C언어 세미나 1st.
Hello World Bot Framework
1 C 언어의 이해와 컴파일러 설치 프로그래밍 환경을 구축하자!.
OpenGL Project (3D 움직이는 자동차)
Program Memorandum - MODEL HOUSE
Sang Il Park Sejong University
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
MFC 프로그래밍에 관한 팁 / Keyboard / Timer
MFC 프로그래밍에 관한 팁 / Keyboard
Visual C++ Programming
제8장 스텐실.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
openGL Project 결과보고서 야구 시구 시뮬레이션
Part 04 입출력과 전처리 ©우균, 창병모 이 슬라이드는 부산대학교 우균이 작성하였습니다. 오류나 수정할 사항 있으면 연락 주세요.
Visual Studio 2010 프로젝트 생성하기 PC화면에서 Visual Studio 2010 아이콘을 더블클릭 하거나
openGL Project 제안서 비 오는 정류장에서
OpenGL Project 조민정 장선례.
Computer Graphics OpenGL 설치 및 설정
Part 0 C Program 안산1대학 디지털정보통신과 임 성 국.
제1장 프로그래밍 기초
OpenGL 프로젝트 김병욱 김상진 김성환.
OpenCV 설치 및 구성 OpenCV
지도교수님 : 김 정배 기획 및 프로그램 : 양 승훈
Appendix A 구조적 시스템 개발 방법론.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 09. C언어의 핵심! 함수!
Linux/UNIX Programming APUE (Thread Programming)
CH2. ASP.NET 페이지 분석 HTML ASP ASP.NET 의 차이점.
파워포인트 단축키 모음 범주 명령/기능 단축키 오피스 공통 단축키 파일 열기 Ctrl + O O 열려진 창들 간의 전환
Remote Control Plus - 졸업 프로젝트 배문희.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
openGL Project 제안서 - 해상 전투
OpenGL Project.
C언어 개론.
LOGOTYPE 춤추는 풍선 팀장 : 이준호 팀원 : 장원진.
뇌를 자극하는 C 프로그래밍.
OPENGL project 구성원 : 김수민,남현우 OPENGL을 이용한 당구(3구) 구현하기.
발표자 : 조윤혜 발표일 : 담당 교수 : 성미영 교수님
OpenGL Project = Solar System = 김민지 박유나.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
“전자구매” 메뉴 접속을 위해 “전자입찰” 메뉴에서 공인인증서 등록
C.
OpenGL (3D Racing) PROJECT 2011 Dongseo Univ..
OpenGL 프로젝트 복학생은 죽지않아!! ( 강유진, 박지혜)
Presentation transcript:

강의 내용 : DirectX 개요 DirectX 9 을 이용한 시각화

목 차 DirectX 출현 배경 DirectX 현재 버전 DirectX 장점 DirectX 구성요소 DirectX SDK 다운로드 및 설치 DirectX SDK 폴더 구성 및 역할 샘플 코드 브라우저 비주얼 스튜디오 설정 도움말 활용

DirectX 출현 배경 윈도우 GDI 의 느린 출력으로 인하여 빠른 게임 화면을 제공하지 못함 개발자는 특정하드웨어 스펙에 신경을 쓸 필요 없이 DirectX 표준만 만족하도록 함 버전 6 의 시기까지는 OpenGL 과 같은 3D API 와 경쟁 적인 위치 버전 8 부터는 PC 의 윈도우 기반 환경에서는 독보적 인 위치

DirectX 현재 버전  DirectX 10  Windows Vista  DirectX 11  Windows 7

DirectX 장점 발전된 멀티미디어 집합 다양한 함수들이 제공됨 하드웨어 독립적 개발 환경 여러 제조회사 제품에서 같은 기능 수행 하드웨어의 진보된 성능 활용 빠른 실행속도 하드웨어 추상화 레이어 하드웨어 기능을 COM Interface ( 클래스 ) 로 표현 함

DirectX 다운로드 및 설치 DirectX SDK 는 현재 Windows SDK 로 합쳐진 상태 DirectX SDK 만 다운로드 받을 경우 us/download/details.aspx?id=6812

DirectX SDK 폴더 구성

샘플 코드 브라우저 버전 9.0 부터는 샘플 테스트 를 위하여 샘플 브라우저 제 공 샘플 코드를 실행한 결과

비주얼 스튜디오 설정 디렉토리 설정 – 설치된 DirectX 의 헤더와 라이브러리 파일이 어디에 위치한지 Visual Studio 에 입력 – 프로그램에 한 번만 입력하면 계속 적용됨 (VS 2008 이전 ) 프로젝트 설정 – 현재 프로젝트 ( 프로그램 ) 이 어떤 라이브러리 파일을 사용할 지 파일 이름을 Visual Studio 에 입력 – 매 번 새로운 프로젝트 ( 프로그램 ) 을 생성할 때 마다 수행해야 함

참고 : Library 와 Header Note

참고 : Library 생성 정적 라이브러리 프로젝트를 만들려면 1. 메뉴 모음에서 파일, 새로 만들기, 프로젝트를 차례로 선택합니다. 2. 새 프로젝트 대화 상자 왼쪽 창의 설치됨, 템플릿, Visual C++ 를 차례로 확 장하고 Win32 를 선택합니다. 3. 가운데 창에서 Win32 콘솔 응용 프로그램을 선택합니다. 4. 프로젝트 이름 ( 예 : 이름 상자의 MathFuncsLib) 을 지정합니다. 솔루션 이름 상자에서 솔루션 이름 ( 예 : StaticLibrary) 을 지정합니다. 확인 단추를 선택합니 다. 5. Win32 응용 프로그램 마법사 대화 상자의 개요 페이지에서 다음 단추를 선 택합니다. 6. 응용 프로그램 설정 페이지의 응용 프로그램 종류 아래에서 정적 라이브러 리를 선택합니다. 7. 응용 프로그램 설정 페이지의 추가 옵션에서 미리 컴파일된 헤더 확인란을 선택 취소합니다. 8. 마침 단추를 선택하여 프로젝트를 만듭니다.

Visual studio 설정 (VC 6.0) 중요 설정 사항 SDK 의 기본 include 경로 SDK 의 기본 lib 경로 사용 메뉴 : Tools->Option->Directories

VS 디렉토리 설정 (2005 이후 ) ‘ 다음 파일의 디렉터리 표시 ’ 리스트를 누르고 포함파일 (include) 을 선택한 후 추가를 눌러 – Microsoft DirectX SDK\include 선택하여 추가 라이브러리 파일 (lib) 을 선택한 후 추가를 눌러 – Microsoft DirectX SDK\lib\x86 선택하여 추가

VS 프로젝트 설정 (2005 이후 ) 프로젝트 -> 속성 메뉴를 눌 러 설정 창을 띄운다. 링크 파일 설정 링커 -> 입력 -> 추가종 속성에 다음을 추가 d3d9.lib d3dx9.lib

도움말 활용 도움말 문서의 위치 (SDK 설치 폴더 )\Documentation \DirectX9\directx_sdk.chm -> DX9 의 소개와 일반 설명 (SDK 설치 폴더 )\Documentation \DirectX9\windows_graphics.chm -> 그래픽스 이론과 함수 설명 시작메뉴에도 있음

도움말 활용 실습 (windows_graphics.chm 파일을 실행하자 ) 색인 탭에서 다음의 용어를 검색해 보자 D3DXVECTOR3 CreateVertexBuffer 검색 탭에서 coordinate 로 검색해서 Coordinate Systems 란 무엇인지 찾아보자 내용 탭에서 다음 내용을 검색해보자 Direct3D 9 Graphics -> Programming Guide for Direct3D 9 -> Getting Started -> Deirec3D Architecture

예 제 1예 제 1 Console 프로젝트 #1 #include int main() { printf ("Hello World"): return 0; } Console 프로젝트 #2 #include int main() { MessageBox (NULL, L"Hello World", L"Hello", MB_OK); return 0; }

참고 - Unicode L"Hello" – "Hello" 의 각 문자는 1byte – 현대 프로그램에서 unicode 를 사용하는 경우 각 문자가 2byte 로 표현되는 표준이 존재함 – 각 문자를 2byte 로 해석하라는 의미의 접두어 L 을 사용 – 띄어쓰면 (L "Hello") 오류 ! 경우에 따라 _T("Hello") 와 같이 사용하는 경우도 있음

예 제 2예 제 2 Windows 프로젝트 #1 #include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, L"Hello World", L"Hello", MB_OK); return 0; }

실 습 1실 습 1 윈도우 프로그래밍 (win32) 강의 홈페이지 ( 의 Winmain.txt 파일을 참조하여 교재 2 장과 같은 프로그 램을 작성 의 Winmain.txt 키보드 입력이나 마우스 버튼이 눌리면 창을 띄움

switch(msg) { case WM_KEYDOWN: switch(wParam){ case VK_ESCAPE: …} VK_SPACE (20) SPACEBAR VK_PRIOR (21) PAGE UP key VK_NEXT (22) PAGE DOWN key VK_END (23) END key VK_HOME (24) HOME key VK_LEFT (25) LEFT ARROW key VK_UP (26) UP ARROW key VK_RIGHT (27) RIGHT ARROW key VK_DOWN (28) DOWN ARROW key 참고

실 습 2실 습 2 교재 p.43 연습문제 4 번 : 다음 입력에 반응하도록 핸들러 함수를 수정해 보자 문자 ‘A’ 숫자 ‘5’ 컨트롤키 화살표키 페이지 업 / 다운 키

요약 윈도우 시스템의 느린 그래픽스 성능을 개선하기 위 해 DirectX 탄생 오랜 기간의 많은 발전을 통해, 현실적 표준의 위치 프로그램 환경 설정 DirectX SDK 를 다운받아 설치 Visual Studio 에 파일이 존재하는 경로 입력 (lib, h) 프로그래밍 (#include ) 컴파일시 링크 (d3d9.lib, d3dx9.lib) 옵션을 설정 기본적인 윈도우 프로그래밍 키보드, 마우스 입력의 처리

도전 문제 윈도우즈 그림판처럼 마우스 드래그를 수행하면 선이 그 려지도록 구현해 보자. WM_MOUSEMOVE ::MoveToEX, ::LineToEx 함수 Static / global variable