본문 바로가기
반응형

분류 전체보기424

Unreal5 C++ 뷰 포트에 로그 출력하기 [Unreal5/C++] 뷰 포트에 로그 출력하기 Uureal5(UE5)  C++을 이용해서 Viewport에 Log 출력하는 방법 BluePrint에서 PrintString 함수는 Kismet 라이브러리에 내장되어 있다.PrintString 함수를 사용하려면 Kismet 라이브러리를 추가해 줘야 함 ! #include "Kismet/KismetSystemLibrary.h" 추가해서 사용! 2023. 5. 6.
Unreal5 버그 C++ 클래스 파일이 저장되지 않음 [Unreal5/버그] C++ 클래스 파일이 저장되지 않음 Unreal 에디터에서 클래스 파일(C++)을 만들고 저장 후 종료 한 뒤다시 열었을 때 프로젝트 폴더 안에 C++ 파일이 있지만 에디터에서 클래스파일이 보이지 않을 때 라이브 코딩을 비활성화 한 뒤 컴파일하면 정상작동 됩니다.  (컴파일 Ctrl + Alt + Shift + P) 2023. 5. 6.
Unreal5 오류 Visual Studio 열리지 않는 문제 내용Unreal5, UE5Visual stduio Version 2022Unreal 에서 Visual Studio 프로그램이 열리지 않는 문제Unreal 에서 C++ 파일 더블 클릭 시 열리지 않음Unreal Editor -> 툴 -> Visual Studio 열기 동작하지 않음  1. Unreal Editor 편집 -> 에디터 개인설정 -> 소스 코드 -> Accessor -> 소스 코드 에디터 -> Visual Studio 2022로 변경2. Unreal Editor 툴 -> Visual Studio 프로젝트 새로고침3. Unreal 실행파일에서 속성 -> 호환성 -> 모든 사용자 에게 관리자 권한으로 실행 허용 2023. 5. 5.
DirectX11 Device & CreateDevice [DirectX11] Device & CreateDevice Device디바이스는 리소스를 만들고 디스플레이 어댑터의 기능을 열거하는 데 사용됩니다.각 애플리케이션에는 디바이스가 하나 이상 있어야 하며, 대부분의 애플리케이션은 하나의 디바이스만 만듭니다. D3D11CreateDevice 또는 D3D11CreateDeviceAndSwapChain 을 호출하여 컴퓨터에 설치된 하드웨어 드라이버 중 하나에 대한 디바이스를  만들고 D3D_DRIVER_TYPE  플래그를 사용하여 드라이버 유형을 지정합니다. 각 디바이스는 원하는 기능에 따라 디바이스 컨텍스트를 하나 이상 사용할 수 있습니다. DeviceContext디바이스 컨텍스트에는 디바이스가 사용되는 상황 또는 설정이 포함됩니다. 더 구체적으로, 디바이스 .. 2023. 3. 19.
DirectX11 Draw 관련 메서드 [DirectX11] Draw  관련 메서드 그리기 상태 설정 메서드IASetInputLayoutIASetPrimitiveTopologyIASetVertexBuffersIASetIndexBufferOMSetRenderTargetsOMSetBlendStateOMSetDepthStencilStateRSSetStateRSSetViewports셰이더 설정 메서드VSSetShaderPSSetShaderGSSetShaderHSSetShaderDSSetShaderCSSetShader그리기 메서드DrawDrawAutoDrawIndexedDrawIndexedInstancedDrawIndexedInstancedIndirectDrawInstancedDrawInstancedIndirect 2023. 3. 19.
DirectX11 초기화 단계 [DirectX11] 초기화 단계 DirectX 11을 사용하여 그래픽 애플리케이션을 개발하기 위해서는 몇 가지 초기화 단계를 거쳐야 합니다.  DirectX 11 디바이스(Direct3D 장치) 생성하기● D3D11CreateDevice 함수를 호출하여 DirectX 11 디바이스를 생성합니다. 이 함수는 지원되는 하드웨어 디바이스를 나열하고, 해당 디바이스 중 하나를 선택하여 DirectX 11 디바이스를 생성합니다. 스왑체인(swap chain) 생성하기● DXGI(DirectX Graphics Infrastructure) 라이브러리를 사용하여 스왑체인을 생성합니다. 스왑체인은 프레임을 출력할 후면 버퍼(back buffer)와 전면 버퍼(front buffer)를 관리하는 역할을 합니다. 후면 버.. 2023. 3. 19.
C++ Static 정적 클래스, 정적 멤버, static 변수, static함수 [C++] Static 정적 클래스, 정적 멤버, static 변수, static함수static 키워드는 4가지 유형으로 사용될 수 있다.함수의 정적 변수 (Static variable in functions, static 변수)정적 클래스 객체 (Static class objects, static 클래스)클래스 내부의 정적 멤버 변수 (Static member variable in class, static 멤버 변수)클래스 내부의 정적 함수 (Static methods in class, static 멤버 함수)static변수는 처음 실행할 때 딱 한 번 초기화 된다.프로그램 시작시 할당되고 종료시 해제된다.함수의 정적 변수 (Static variable in functions, static 변수)프로그.. 2022. 12. 20.
메모리 구조 (코드영역, 데이터영역, 힙영역, 스택영역) 메모리 구조 (코드영역, 데이터영역, 힙영역, 스택영역) 흔히 메모리라고 하면 RAM을 지칭한다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같다. 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역이다. 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역이다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. 스택(stack) 영역 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역입니다. 스택 영역은 함수의 호출과.. 2022. 12. 20.
C++ 구조체와 클래스의 코드로보는 차이점 [C++] 구조체와 클래스의 코드로보는 차이점구조체 보기// 구조체 테스트#include using namespace std;struct _struct{ // struct의 기본 접근 지정자는 public double _double = 3.141592; // 8 byte // 되도록이면 큰 자료형이 위로 오도록 (바이트패딩) int _int = 3; // 4byteprivate : // 접근지정자의 사용이 가능함 int _pvInt = 6; // 4byte void PrivateAccessTest() { cout 구조체 struct의 기본 접근 지정자는 public이다.바이트 패딩의 효율성을 위해 큰 자료형을 위에 선언한다.클래스처럼 접근지정자 사용이 가능하다.protected접근지정자는 상속관계.. 2022. 12. 20.
C++ 바이트 패딩 (Byte Padding) [C/C++]바이트 패딩 (Byte Padding)바이트 패딩(Byte Padding)이란 클래스 (구조체)에 바이트를 추가해 CPU접근에 부하를 덜어주는 기법padding 의 사전적 정의 : (형체를 잡기 위해 안에 대는) 속, 충전재구조체나 클래스의 크기는 내부에 선언된 변수들의 크기로 결정된다고 생각되지만 실제 크기를 확인해 보면 대부분 내부에 선언된 변수 크기보다 더 큰 크기의 공간이 할당되어 있다. 이는 CPU접근을 용이하게 만들기 위한 것인데 32bit CPU는 한 번에 4byte를 읽을 수 있고 64bit CPU는 한 번에 8byte를 읽을 수 있다. 만약 int(4byte)자료형 사이에 char(1byte)자료형이 끼어 있다면 패딩이 없을 경우 CPU는 1byte로 인한 격차로 인해 2번의.. 2022. 12. 14.
C++ 구조체 (structure type) [C/C++] 구조체 (structure type)구조체란 사용자가 새롭게 정의할 수 있는 사용자 정의 타입이다.구조체는 기본 타입만으로는 나타낼 수 없는 복잡한 데이터를 표현할 수 있다.구조체는 다양한 타입의 변수 집합을 하나의 타입으로 나타낸 것이다.구조체를 구성하는 변수를 구조체의 멤버(Member) 또는 멤버 변수(Member Variable)이라고 한다.구조체 안에 있는 것들 중 가장 큰 자리를 가지고 있는 타입이 기준 크기가 된다. (바이트패딩)구조체 정의 방법구식 컴파일러 버전에서는 struct 앞에 typedef를 넣어줘야 한다.typedef struct 구조체이름 구조체의새로운이름;구식 컴파일러 버전에서는 구조체 멤버변수를 선언할 때 초기화해줘야 한다.// 구버전typedef struct.. 2022. 12. 14.
C++ 파일 입출력 fstream ifstream ofstream (char배열, string) [C++] 파일 입출력 fstream ifstream ofstream (char배열, string) 띄어쓰기 포함 쓰기 방법은 한 줄 입력 받는 것이다char배열을 써도 되고 편리한 string을 사용해도 된다.#include #include 파일 입출력 헤더파일 #include 문자열 헤더파일만약 입력이나 출력만 할 경우#include 입력 (Input File Stream)#include 출력 (Output File Stream)//방법 1ofstream file;file.open(filePath, ios::out);//방법 2ofstream file(filePath, ios::out) 파일을 열지 못했을 때 예외처리// 예외처리 1if(file.fail()) cout #include #in.. 2022. 12. 14.
반응형