공부259 [DirectX3D] 로딩씬(씬전환) Loading Scene 추가 프레임워크에서 씬(Scene)를 여러개 만들고 씬전환화면으로 로딩씬을 제작하게되었습니다. 추가전 1.프로그램 실행 > 2.게임입장상호작용 > 3.실제플레이Scene > 4.엔딩Scene 추가전 후 1.프로그램 실행 > 2.게임입장상호작용 > 3. 로딩씬 > 4.실제플레이Scene > 5.엔딩Scene 로딩씬에서는 게임실행에 필요한 데이터들이 세팅되는 과정을 시각적으로 볼수있도록 하였습니다. 메인 화면에서 게임으로 진입시 실행에 필요한 데이터들을 로드(Load)하는동안 생각보다 긴 시간이 필요합니다. 때문에 멈춰있는 화면이 없는것처럼 보이도록 하기위하여 로딩씬을 추가합니다. 메인 화면에서 게임입장 버튼 글릭시 바로 로딩씬이 실행됩니다. 로딩씬에서는 스레드(thread)를 사용.. 2023. 8. 21. [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. [C++] 스레드(thread) & 뮤텍스(mutex) 스레드 ? 스레드는 프로세스 내에서 실행되는 작은 실행 단위 이며 한 프로세스는 여러개의 스레드를 가지고 있을 수 있습니다. 스레드는 독립적인 실행 경로를 가지고 프로세스 내의 자원을 공유합니다. 이런 특성으로 인해 프로세스의 실행 속도와 효율성을 향상 시킬 수 있습니다. 여러 작업들을 한번에 실행(병행)할 수 있으나 서로 다른 스레드 간의 동기화와 조율이 필요하게 됩니다. 동기화에 필요한 것이 뮤텍스 입니다. 뮤텍스 ? 뮤텍스는 상호 배제(Mutual Exclusion)를 의미하며 공유 자원에 대하여 동시 엑세스를 조절합니다. *임계 구역(Critical Section)에 들어가는 스레드가 지원을 독점할 수 있도록 허용하며 다른 스레드는 임계 구역에 진입할 수 없도록 제어하는 기능을 합니다.(임계 구역.. 2023. 8. 11. [Graphics] D3D11 렌더링 파이프 라인(Rendering Pipeline) 렌더링 파이프라인 ? DirectX 3D Graphics에서의 렌더링 파이프라인은 그래픽스 카드에서 3D 모델을 렌더링하는 과정을 각각의 단계별로 나타낸 것입니다. 렌더링 파이프라인은 크게 두가지 버전으로 나뉘게 됩니다. 1. 고정 함수 파이프라인 2. 프로그래머블 파이프라인(DirectX 10 이후부터 지원 현재 배우는 기준은 DirectX11) 두가지의 버전중에서 프로그래머블 파이프라인이 더 우연하며 강력한 기능을 제공합니다. 때문에 프로그래머블 파이프라인을 기준으로 각 단계에 대하여 정리하도록 합니다. 렌더링 파이프 라인의 단계(생략가능, 필수) 1. 입력 어셈블러(IA - Input Assembler) 정점(버텍스)데이터를 가져와 점, 선, 삼각형 등의 프리미티브를 조합 생성합니다. 버텍스 버퍼,.. 2023. 8. 10. [DirectX3D] 환경 맵핑(Environment Mapping) 환경 맵핑 ? 환경 맵핑은 컴퓨터 그래픽스에서 사용되는 기술중 하나 입니다. 3D 모델의 표면에 주변 환경(배경)을 반사시켜 실시간으로 더욱 현실적인 느낌을 줄 수 있습니다. 주로 반사, 굴절, 환경등의 변환에 따른 질감을 향상시키는데 사용합니다. 환경 맵핑값의 변화에 따른 반사 확인하기 위의 영상에는 무료 배포된 던전앤파이터의 "던파 연단된 칼날" 폰트를 사용하였습니다. >NEXON LEVEL UP (레벨업) – 넥슨 브랜드 인벤토리 LEVEL UP의 첫 단계로 게임에서 경험했던 느낌을 서체에 담아 표현했습니다. 서체의 기능적인 부분 외에도 즐거운 경험들을 전달하고자 하는 또 다른 도전의 시작입니다. levelup.nexon.com -아래접은글 > DirectWrite(DWRITE) 복습- 더보기 DW.. 2023. 8. 8. 이전 1 ··· 21 22 23 24 25 26 27 ··· 44 다음