반응형 HLSL [Unity] 셰이더 코드 (2) - ShaderLab과 HLSL 기본 구조 2024. 1. 19. 지난 포스팅에서 셰이더 코드는 유니티 전용 셰이더 언어인 ShaderLab과 HLSL언어를 사용해 작성할 수 있다고 하였다. 이번 포스팅에서는 간단한 예시를 통해 실제 코드가 어떻게 작성이 되는지 나타내었다. Built-in 파이프라인의 경우 Legacy가 될 예정이기 때문에 URP를 기준으로 글을 작성하였다. 셰이더 생성 유니티의 프로젝트 창에서 Create - Shader - Unit Shader를 눌러 파일을 생성한다. 생성된 셰이더 코드를 열어보면 다음과 같다. 참고로 이 기본 Unlit 셰이더 코드는 Cg로 작성되어있다. 유니티에서는 HLSL을 사용한 셰이더 제작을 권장하기 때문에 해당 구조를 HLSL로 변경하여 아래에 다시 작성하며 포스팅을 이어나간다. 우리는 위 코드에서 셰이더의 뼈대만 살펴.. [Unity] 셰이더 코드 (1) - 셰이더 언어 (Cg, GLSL and HLSL) 2024. 1. 17. 유니티에서의 셰이더 게임 엔진에서 셰이더를 다룬다는 것은 멋진 일이다. 그러나 셰이더를 배우고 활용하기란 쉽지가 않다. 많은 사전 지식을 요구하기 때문인 것도 있겠으나 가독성 좋은 한글 자료 또한 부족하기 때문일 것이다. 앞으로의 포스팅을 통해 셰이더를 코드로 다루는 방법을 기술하고자 한다. 셰이더 코드란? 대부분의 게임엔진과 DCC툴에서는 셰이더를 노드 형태로 많이 제공한다. 그 이유는 서론에서 언급한 전문성 때문이고, 셰이더를 다루는 아티스트들에게는 이러한 전문성이 진입장벽이 되기 때문이다. 그렇다면 셰이더를 노드 형태로 다룰 줄만 안다면 그래픽스는 해결이 되는 것일까? 사실 대부분의 문제점은 해결이 된다고 본다. 그러나 셰이더의 최적화 문제라던지 깊이 있는 셰이더 구현은 코드로만 가능하기 때문에 전.. [Unity] 셰이더란 무엇인가? 2023. 2. 15. 셰이더의 의미 일반적으로 셰이더(Shader)는 GPU에서 실행되는 프로세스를 의미한다. 하지만 유니티나 언리얼등의 엔진에서는 주로 그래픽스와 관련된 작업을 수행한다고 알려져 있다. 유니티에서는 셰이더가 어떻게 사용되고 있을까? 유니티에서의 셰이더 사용 어떻게 사용되는지에 대해 알기 전에 셰이더가 단순히 그래픽과 관련된 역할만 하는 것이 아니라는 것을 알아야 한다. 셰이더는 위에서 언급된 것처럼 GPU에서 실행되는 프로그램이고, GPU가 그래픽과 관련된 처리를 주로 하기 때문에 그래픽스와 필수불가결한 존재로 인식하고 있지만 사실 셰이더는 다른 역할도 한다. GPU는 CPU에 비해 상대적으로 가볍지만 많은 병렬처리를 하는데 효과적이다. 이러한 강점을 사용하도록 설계된 스크립팅 언어가 Compute Shad.. 이전 1 다음 1/1 반응형