본문 바로가기

공부/DirectX3D14

[DirectX3D] PostEffect(상수버퍼를 사용한 Fadein/Fadeout 효과) PostEffect.hlsl Shader 파일에 상수버퍼를 이용한 코드를 추가합니다. cbuffer PS_Point : register(b11) { float2 Point; float Size; float PointPadding; } Scene Class 헤더 파일에 상수버퍼에 사용할 구조체를 선언합니다. private 구역 struct Point // 상수버퍼용 구조체 { Vector2 point; // 시작지점 변수(x,y) float size; // 시야범위 변수 float padding; // 패딩용 변수 } _point; ID3D11Buffer* PointBuffer; // 버퍼 // control을 위한 추가 변수들 float posx; float posy; float scale; // fad.. 2023. 8. 18.
[DirectX3D] RTT구현(미니맵만들기) D3D11 에서 RTT(Render To Texture)구현하기 RenderTarget 클래스 생성하기(h) #pragma once class RenderTarget { protected: // 화면(이미지)의 가로 세로 크기 변수 int width, height; //protected에 있는 이유는 ResizeScreen으로만 크기변경하려고 //I(인터페이스)D3D(도구)11(넘버링) 인터페이스 ID3D11Texture2D* rgb; // 일반 텍스처 데이터 ID3D11Texture2D* depth; // 깊이값 텍스처 데이터 //파이프라인 결합할때 타겟으로 쓸 인터페이스 /* 기존에 Direct3D11 클래스에서 백버퍼로도 쓰였음(실질적자원담당) 프로그램실행시 싱글톤 생성하면서 만들어지고, Resiz.. 2023. 8. 16.
[DirectX3D] 환경 맵핑(Environment Mapping) 환경 맵핑 ? 환경 맵핑은 컴퓨터 그래픽스에서 사용되는 기술중 하나 입니다. 3D 모델의 표면에 주변 환경(배경)을 반사시켜 실시간으로 더욱 현실적인 느낌을 줄 수 있습니다. 주로 반사, 굴절, 환경등의 변환에 따른 질감을 향상시키는데 사용합니다. 환경 맵핑값의 변화에 따른 반사 확인하기 위의 영상에는 무료 배포된 던전앤파이터의 "던파 연단된 칼날" 폰트를 사용하였습니다. >NEXON LEVEL UP (레벨업) – 넥슨 브랜드 인벤토리 LEVEL UP의 첫 단계로 게임에서 경험했던 느낌을 서체에 담아 표현했습니다. 서체의 기능적인 부분 외에도 즐거운 경험들을 전달하고자 하는 또 다른 도전의 시작입니다. levelup.nexon.com -아래접은글 > DirectWrite(DWRITE) 복습- 더보기 DW.. 2023. 8. 8.
[DirectX3D] DxTex 큐브맵(CubeMap) 만들기 DirectX3D 줄여서 D3D 에서 Animation & Terrain 이후 CubeMap을 배우게 되어 큐브맵(확장자 .dds)를 만들기위한 방법을 정리합니다. Step 1 우선 큐브맵을 만들기위한 프로그램으로 DxTex가 필요합니다. 해당 프로그램을 실행시키기 위해서는 DirectX SDK의 설치가 필요합니다. https://www.microsoft.com/en-us/download/confirmation.aspx?id=6812 Download DirectX Software Development Kit from Official Microsoft Download Center DirectX End-User Runtime Web Installer --> The Microsoft DirectX® End-U.. 2023. 7. 29.
[DirectX3D/ASSIMP] ASSIMP 코드 정리(진행중) 현재진행상황 하이어라이키 만들기 메쉬 만들기 머테리얼 만들기 본정보 받아와 스켈레톤 만들기 현재 내용이 지속적으로 추가되면서 이해하지 못한 부분도 있기때문에 지속적으로 복습이 필요함. 아래의 코드는 내용정리를 위한것. ASSIMP의 라이브러리는 따로 첨부 X Main.h #pragma once //메인에는 씬만 구성 class Main : public Scene { private: Camera*Cam; Grid*grid; Actor*temp; stringfile; Assimp::Importerimporter; const aiScene*scene; public: Main(); ~Main(); virtual void Init() override; virtual void Release() override; /.. 2023. 6. 28.
[DirectX3D/ASSIMP] ASSIMP 구조 ASSIMP ? model importing library 입니다. Open Asset Import Library 줄여서 ASSIMP 라고 합니다. ASSIMP는 모든 모델의 데이터를 생성한 구조로 불러옴으로써 많은 종류의 모델 파일 포멧을 import(추출)이 가능합니다. ASSIMP가 모델을 로드하기만 한다면 데이터 구조에서 사용자가 원하는 모든 데이터를 얻어 올 수 있습니다. ASSIMP의 데이터구조가 import된 파일 포멧의 유형과 관계없이 동일하게 유지되기 떄문에 다양한 확장자의 파일 포멧들을 추상화 할 수 있습니다. 전체적인 모델을 import된 모든 모델(Object)의 씬(Scene)을 포함하고있는 Scene 객체에 로드합니다. ASSIMP는 노드의 모음을 가지게 되고 각 노드는 자신의 .. 2023. 6. 21.