728x90

프로그래밍 209

4. Primitive Type

Primitive Type # 여러가지 Topology 타입을 소개하기 위한 예제이지만 이후에는 이미지 디버깅 용도로 사용하게 된다. # 상수 버퍼를 사용하는 예제에서의 쉐이더를 쓰면 선이 안 나오니 주의. 그래서 상수 버퍼 예제를 이 다음으로 옮겼다. 샘플 업데이트sample.h #pragma once #pragma comment(lib, "TLib.lib") #include "zCore.h" #include "mathHeader_L.h" namespace Lypi { class Sample : public zCore { // 버텍스 버퍼 및 레이아웃 ID3D11Buffer* m_pVertexBuffer; //정점 버퍼 인터페이스 ID3D11InputLayout* m_pVertexLayout; //정점..

3. VertexBuffer, IndexBuffer

Vertex Buffer 일단 아래와 같은 쉐이더 파일을 라이브러리 혹은 샘플 폴더에 만들자. # 쉐이더 코드는 txt로 적어도 아무런 상관이 없다. # 구문 강조 기능을 위해서 확장자를 hlsl로 했다면 설정에서 빌드에서 제외를 해주는 것이 정신건강에 이롭다. # 픽셀 쉐이더에서 하얀색으로 지정했다. VS.txt float4 VS(in float4 p : POSITION) : SV_POSITION { return p; } PS.txt float4 PS(in float4 p : SV_POSITION) : SV_Target { return float4(1.0f, 1.0f, 1.0f, 1.0f); } # 아래와 같이 코드를 작성하면 화면에 사각형이 그려진다. #쉐이더 파일의 경로에 주의할 것. #T를 누르면..

2. Timer, Input, Write

# Timer : 게임내 시간을 측정하는 기능 # Input : 키 입력을 받는 기능 # Write : 화면에 간단한 텍스트를 띄우는 기능.# 타이머와 입력한 키에 대한 정보를 텍스트로 띄어주는 내용.# 여기까지 1차적인 라이브러리 내용이다. DxTimer.h #pragma once #include "stdHeader_L.h" namespace Lypi { class DxTimer { private: LARGE_INTEGER m_liFrequency; //초당 주파수 LARGE_INTEGER m_liCurTime; //현재 프레임에서의 시간 LARGE_INTEGER m_liBefTime; //이전 프레임에서의 시간 LARGE_INTEGER m_liBef1sTime; //1초전 시간 float m_dGam..

1. 윈도우 띄우기

# 아무 기능 없이 윈도우만 띄우는 기능까지만 들어간 라이브러리. # 헤더파일의 DX관련 헤더와 라이브러리는 참조하기 쉽게 위치를 옮겨놨다. # 실질적인 기능은 zCore파일에서 정의된다. stdHeader_L.h #pragma once #define DIRECTINPUT_VERSION 0x0800 #define _CRT_SECURE_NO_WARNINGS #pragma warning( disable:4005) //매크로 재정의 에러 띄우지 않기. //#define _DISABLE_EXTENDED_ALIGNED_STORAGE //메모리 자동 정렬 사용 안함? #pragma region //헤더 파일 및 라이브러리 파일 추가 #include #include //Windows Runtime C++ Templa..

0. Sample Main

# 이 카테고리의 포스팅에는 코드만 있을 뿐 코드에 대한 자세한 설명은 모두 생략되어 있다. 나아중에 시간이 나거나 필요하면 추가할지도... # 라이브러리를 실행시키기 위해 만든 main용 프로젝트.# 현재 특별한 내용은 없음.# Init(), Frame(), Render(), Release()는 기본적으로 정의하는 메소드로 약속한다. sample.h #pragma once #pragma comment(lib, "TLib.lib") #include "zCore.h" namespace Lypi { class Sample : public zCore { public: bool Init(); bool Frame(); bool Render(); bool Release(); public: Sample(LPCTSTR..

16. 행렬(3) - 행렬 클래스 구현

// 구현 예시임 header struct float2x2 { union { struct { float _11, _12; float _21, _22; }; float m[2][2]; float2 _1, _2; }; float2x2(); float2x2(float2 __1, float2 __2); //복사연산자 기본값으로 정의 float2x2(const float2x2&) = default; float2x2(float2x2&&) = default; //대입연산자 기본값으로 정의 float2x2& operator= (const float2x2&) = default; float2x2& operator= (float2x2&&) = default; }; struct float3x3 { union { struct ..

15. 벡터(4) - 벡터 클래스 구현

// 그냥 "이런식으로 구현할 수 있다." 의 수준이므로 실제 사용은 상용 라이브러리를 쓸 것을 권장. DirectXMath.h라던가... xnamath.h라던가...// 그러므로 include문은 생략. header struct float2 { union { struct { float x, y; }; float f[2]; }; float2(); float2(float _x, float _y); }; struct Vector2 : float2 { static const Vector2 Zero2; static const Vector2 UnitX2; static const Vector2 UnitY2; //생성자 Vector2(); explicit Vector2(float x); Vector2(float x,..

C++ ESPRESSO 1-2. 제어문과 함수 / programming

1. 사용자로부터 세 개의 정수를 입력받은 후 가장 작은 값을 결정하는 함수 get_minimum(x1, x2, x3)을 작성해라. (if-else문 사용) 2. 하나의 연산기호와 두 개의 숫자를 입력받아 연산하는 프로그램을 작성하라. (각각의 연산을 함수로 작성할 것.) 3. 키보드로부터 하나의 문자를 읽어 이 문자가 공백문자이면 그 종류를 출력하는 프로그램을 작성하라. (각각의 과정을 함수로 작성할 것) 4. 1~100 사이의 숫자를 랜덤으로 생성하여 입력받은 숫자와 같은지 확인하는 프로그램을 작성하라. (번호 생성과 같은지 여부를 확인하는 함수를 각각 작성할 것) 5. 컴퓨터와 가위바위보를 하는 프로그램을 작성하라. 6. 사용자로부터 소득을 입력받아 소득 구간에 따른 소득세를 계산하는 프로그램을 작..

C문법 핵심 요약 (기본적인 용어)

기본적인 용어 변수/상수변수 : 특정한 자료형의 데이터를 담아놓은 메모리 공간 및 그 공간의 데이터를 사용할 수 있게 지정한 이름. 조금 쉽게 표현하면 언제든 값을 변경할 수 있는 상자. 상수 : 특정한 자료형의 데이터 그 자체. 혹은 그러한 값으로 정의해놓은 매크로. 예를 들면 '1'(정수형 상수), '0.5'(실수형 상수), 'a' (문자형 상수) 등 제어문 : 절차적 흐름을 제어할 수 있는 언어적 문법.조건문 : 특정 조건에 따라 실행되거나 실행되지 않도록 하는 문법. 반복문 : 특정 조건을 만족하는 동안 지정한 문장들이 반복 실행되게 하는 문법. 연산자 : 데이터에 작용해 새로운 값을 만들어내는 일종의 함수. 함수 : 특정한 명령들을 수행하도록 묶어놓은 것. 매개변수 : 필요에 따라 함수에 전달하..

1. 문자열 출력하기

이전 내용은 lib로 연결함.(lib생성과 연결은 이후에 추가예정) headerText.h #pragma once #include "libHeader.h" #include //1. 출력 영역 얻어오기 // - 윈도우에 텍스트를 출력하거나 그림을 그리려면 먼저 커널에서 출력 영역을 얻어와야 한다. // - 윈도우의 출력 영역은 좌측 상단 모서리를 원점으로 하는 화면 좌표계를 사용한다. // - 출력을 위해서 얻어온 화면 영역을 디바이스 컨텍스트(Device Context : DC)라 한다. // - 얻어온 DC는 HDC 타입의 변수에 저장해서 사용한다. // - HDC 타입은 메모리 영역을 관리하며, 메모리 영역에는 얻어온 화면 영역에 대한 속성값을 저장할 수 있다. // - DC를 얻어오는 함수/ 해제하..

반응형