UE4 & UE5/Rendering
-
[UE5] Shader [1/3] - 주요 클래스 파악UE4 & UE5/Rendering 2021. 9. 3. 07:00
[UE5] Shader [1/3] - 주요 클래스 파악 최초 작성 : 2021-09-03 마지막 수정 : 2021-09-03 최재호 1. 환경 Unreal Engine 5 (ue5-main branch acc8c5f399ca01f6f549108be1fb75381fecbca8) UE4.26.2 코드와 거의 유사하므로 UE4에 익숙하시면 보시는데 문제가 없을 것 같습니다. 일부 코드는 줄 바꿈 되거나 접은 상태로 중요한 코드를 위주로 설명하니 보실 때 참고해주세요. 또한 코드를 직접 붙여 넣어서 진행했기 때문에 작아서 잘 보이지 않는 코드는 클릭하여 봐주세요. 개인적으로 분석한 내용이라 틀린 점이 있을 수 있습니다. 그런 부분은 알려주시면 감사하겠습니다. 필요한 사전 지식 Graphic API 기본 이해 S..
-
[UE5] MeshDrawCommand (2/2)UE4 & UE5/Rendering 2021. 6. 20. 12:34
[UE5] MeshDrawCommand (2/2) 최초 작성 : 2021-06-20 마지막 수정 : 2023-05-17 최재호 Updated 2023-05-17 : DynamicMeshElement 가 어떤 MeshPass 에 추가될 것인지를 보여주는 추가그림1 추가 1. 환경 Unreal Engine 5 Early access UE4.26.2 코드와 거의 유사하므로 UE4에 익숙하시면 보시는데 문제가 없을 것 같습니다. 일부 코드는 줄 바꿈 되거나 접은 상태로 중요한 코드를 위주로 설명하니 보실 때 참고해주세요. 또한 코드를 직접 붙여넣어서 진행했기 때문에 작아서 잘 보이지 않는 코드는 클릭하여 봐주세요. 필요한 사전지식 1. NamedThread (TaskGraphSystem에 대한 이해가 있으면 더..
-
[UE5] MeshDrawCommand (1/2)UE4 & UE5/Rendering 2021. 6. 20. 11:58
[UE5] MeshDrawCommand (1/2) 최초 작성 : 2021-06-20 마지막 수정 : 2021-06-20 최재호 1. 환경 Unreal Engine 5 Early access UE4.26.2 코드와 거의 유사하므로 UE4에 익숙하시면 보시는데 문제가 없을 것 같습니다. 일부 코드는 줄 바꿈 되거나 접은 상태로 중요한 코드를 위주로 설명하니 보실 때 참고해주세요. 또한 코드를 직접 붙여넣어서 진행했기 때문에 작아서 잘 보이지 않는 코드는 클릭하여 봐주세요. 필요한 사전지식 1. NamedThread (TaskGraphSystem에 대한 이해가 있으면 더 좋음) 2. Actor와 ActorComponent의 관계 * 설명하는 문맥이 게임스레드로 변경되면 [게임스레드] 렌더스레드로 변경되면 [렌..
-
[UE4]Geometry ShaderUE4 & UE5/Rendering 2020. 4. 5. 02:46
아래 사이트의 Shader 파트를 참고하여 작성하였습니다. 출처 : https://zhuanlan.zhihu.com/p/100834351 환경 Unreal Engine 4.24.3 목표 1. Geometry Shader를 사용합니다. 2. 별도의 렌더 패스를 만들어서 예제를 출력해봅니다. C++에서 Geometry Shader 생성 // C:\Github\UE4\Engine\Source\Runtime\Renderer\Private\MyGS\MyGS.cpp #include "CoreMinimal.h" #include "SceneRendering.h" #include "RHICommandList.h" #include "Shader.h" #include "RHIStaticStates.h" #include "S..
-
[UE4]Compute ShaderUE4 & UE5/Rendering 2020. 3. 20. 09:07
아래 사이트의 Shader 파트를 참고하여 작성하였으며, 언리얼엔진 4.24.1에서 동작 가능하게 코드를 수정하였습니다. 출처 : https://zhuanlan.zhihu.com/p/36695496 환경 Unreal Engine 4.24.1 [UE4]Global Shader 파트에 계속해서 내용 추가 목표 1. Compute Shader로 Texture에 이미지를 그립니다. 2. 이미지를 그린 Texture를 렌더타겟에다 그려서 사용합니다. 3. StructuredBuffer를 사용해 봅니다. C++에서 ComputeShader 생성 class FGlobalComputeTestShader : public FGlobalShader { DECLARE_SHADER_TYPE(FGlobalComputeTestSh..
-
[UE4]Global ShaderUE4 & UE5/Rendering 2020. 3. 17. 08:24
아래 사이트의 Shader 파트를 참고하여 작성하였으며, 언리얼엔진 4.24.1에서 동작 가능하게 코드를 수정하였습니다. 출처 : https://zhuanlan.zhihu.com/p/36695496 환경 Unreal Engine 4.24.1 목표 1. Plugin 형태로 제공되는 간단한 GlobalShader를 제작합니다. 2. 자신만의 Vertex Struct를 구성하고 VertexBuffer를 만듭니다. 3. Shader에서 변수를 사용해봅니다. 4. Shader에서 Uniform 변수를 사용해봅니다. Plugin을 아래 이미지에서 Blank로 생성 플러그인 폴더의 [PluginName.uplugin] 파일내에 아래 부분을 고쳐줌. [PluginName.Build.cs] 를 아래와 같이 수정. Pub..