이재협/실장/시스템개발실/PHYSIA

이재협/실장/시스템개발실/PHYSIA

Manual

Unity ShaderLab: 패스 이름 할당하기

이 문서는 Unity에서 ShaderLab을 사용하여 패스에 이름을 할당하는 방법에 대해 설명합니다. ShaderLab은 Unity의 셰이더 언어로, 그래픽스 프로그래밍을 위해 사용됩니다. 패스는 셰이더의 중요한 구성 요소로, 다양한 렌더링 작업에서 사용됩니다. 패스의 개요 각 패스는 이름을 가질 수 있으며, C# API를 통해 이름으로 참조 가능합니다. 패스의 이름은 Unity의 프레임 디버거 툴에서도 확인할 수

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity HLSL 셰이더 키워드 사용 가이드

이 문서는 Unity의 HLSL에서 셰이더 키워드를 선언하고 사용하는 방법에 대해 설명하며, 다양한 활용 및 응용 예제를 제공합니다. 셰이더 키워드 정의 셰이더 키워드는 특정 기능을 활성화하거나 비활성화하는 데 사용됩니다. HLSL 코드 내에서 #pragma 지시문을 사용하여 키워드를 선언할 수 있습니다. 키워드 선언 예시 #pragma shader_feature REFLECTION_TYPE1 REFLECTION_TYPE2 REFLECTION_TYPE3

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity ShaderLab 가이드 (레거시)

Unity에서는 ShaderLab을 사용하여 다양한 셰이더를 정의할 수 있습니다. 이 문서는 ShaderLab의 레거시 기능, 특히 Vertex Lighting에 대한 설명을 제공합니다. 개요 머티리얼 및 조명 파라미터는 빌트인 버텍스 조명을 제어하는 데 사용됩니다. 버텍스 조명은 각 버텍스에 대해 계산되는 스탠다드 Direct3D/OpenGL 조명 모델입니다. 기능 이름 빌트인 렌더 파이프라인 유니버설 렌더 파이프라인(URP)

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity GrabPass 가이드

이 문서는 Unity의 GrabPass 커맨드에 대한 설명과 사용 방법을 제공합니다. GrabPass는 프레임 버퍼의 내용을 텍스처로 가져오는 데 사용되며, 이후의 패스에서 고급 이미지 기반 효과를 수행하는 데 유용합니다. GrabPass 소개 * GrabPass: 이 커맨드는 화면의 내용을 가져와 텍스처로 저장하는 기능을 제공합니다. 보통 고급 비주얼 효과를 구현하는 데 사용됩니다. * 성능 주의: GrabPass는 CPU와

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity GLSL 샘플러 상태 사용 가이드

이 문서는 Unity에서 GLSL 셰이더를 사용하는 방법에 대한 가이드를 제공합니다. GLSL(오픈 그래픽스 셰이딩 언어)은 Unity에서 HLSL과 함께 사용되며, 특정 경우에 유용합니다. 아래에는 GLSL을 사용하는 방법과 함께 실용적인 활용 예제를 포함하고 있습니다. GLSL란 무엇인가? GLSL은 OpenGL에 속하는 셰이딩 언어로, GPU에서 실행되는 코드입니다. Unity에서는 HLSL뿐만 아니라 GLSL 코드를 작성할 수

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity 매뉴얼 - ShaderLab 레거시 기능

이 문서는 Unity 2022.3 버전의 ShaderLab 레거시 기능에 대한 정보를 제공합니다. 특히, 레거시 안개(Fog) 및 조명 기능과 관련하여 설명합니다. 섹션 개요 * 주제: ShaderLab의 레거시 안개 및 조명 기능 * 버전: 2022.3 (LTS) 레거시 안개 사용 레거시 안개 기능은 고정된 함수 스타일의 셰이더에서 사용할 수 있으며, 특정 패스에서 안개

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity 셰이더에서 폴백 할당하기

이 문서는 Unity에서 ShaderLab을 사용하여 폴백 셰이더 오브젝트를 할당하는 방법에 대해 설명합니다. 폴백 셰이더는 특정 조건을 만족하지 못할 때 기본적으로 사용되는 셰이더입니다. 이 문서에서는 폴백 셰이더의 개념과 사용법을 알아보겠습니다. 폴백 블록이란? 폴백 블록은 셰이더 파일 내에서 사용되며, 호환되는 서브셰이더가 없을 경우 사용할 셰이더를 지정합니다. 예를 들어, 특정 하드웨어에서 특정 효과를

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity 매뉴얼: 셰이더 디버깅 및 최적화

이 가이드는 Unity에서 셰이더를 디버깅하는 방법과 셰이더의 런타임 성능을 최적화하는 방법에 대해 설명합니다. 특히 Visual Studio와 PIX 도구를 사용하여 DirectX 기반의 셰이더 디버깅을 진행하는 방법을 다룹니다. 셰이더 디버깅 개요 Windows 플랫폼에서 DirectX 11 또는 12를 사용하는 경우, Visual Studio를 이용하여 Unity 애플리케이션의 셰이더를 디버그할 수 있습니다. 그러나 DirectX 12의 경우,

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity HLSL 셰이더 데이터 타입 및 정밀도

이 문서는 Unity에서 HLSL(Higher Level Shading Language)과 관련하여 데이터 타입 및 정밀도에 대해 설명합니다. 여러 플랫폼에서 최적의 성능을 내기 위한 데이터 타입의 선택이 중요한데, 이를 이해하고 활용하는 것이 중요합니다. 기본 데이터 타입 Unity에서 지원하는 주요 데이터 타입은 다음과 같습니다: 데이터 타입 설명 float 고정밀도의 부동 소수점 데이터 타입으로,

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity ShaderLab: 커스텀 에디터 할당

이 문서는 Unity의 ShaderLab에서 커스텀 에디터를 할당하는 방법에 대해 설명합니다. 커스텀 에디터를 사용하면 기본 머티리얼 인스펙터에서 제공하지 않는 데이터 타입을 표현하거나, 사용자 지정 컨트롤을 정의할 수 있습니다. 커스텀 에디터 사용 가능성 기능 이름 빌트인 렌더 파이프라인 유니버설 렌더 파이프라인 (URP) 고해상도 렌더 파이프라인 (HDRP) CustomEditor 블록 지원 지원 지원 CustomEditorForRenderPipeline

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity ShaderLab: 컬링(Cull)

개요 컬링은 폴리곤이 카메라를 향하는 방향에 따라 GPU가 그려야 할 폴리곤을 설정하는 과정입니다. 이 과정을 통해 불필요한 그리기를 방지하고 렌더링 효율성을 향상시킬 수 있습니다. 기본적으로 GPU는 백페이스 컬링(Backface Culling)을 사용하여 사용자가 보는 방향과 반대 방향의 폴리곤은 렌더링하지 않습니다. 렌더 파이프라인 호환성 기능 이름 빌트인 렌더 파이프라인 유니버설 렌더

By 이재협/실장/시스템개발실/PHYSIA

Manual

Unity 보수적 래스터화 (Conservative Rasterization) 가이드

개요 Unity의 보수적 래스터화는 렌더링에서 삼각형에 의해 부분적으로 덮혀 있는 픽셀을 무조건적으로 래스터화하는 기술입니다. 이 기술은 오클루전 컬링, 충돌 검사, 가시성 검사와 같이 확실성을 요구하는 상황에서 매우 유용합니다. 기본 개념 * 래스터화: 삼각형으로 덮이는 픽셀을 인식하여 벡터 데이터를 픽셀 데이터로 변환하는 과정입니다. * 보수적 래스터화: GPU가 픽셀이 커버리지와 관계없이 삼각형에 의해 부분적으로

By 이재협/실장/시스템개발실/PHYSIA