본문 바로가기

셰이더

Shader Study 후기 - Fourier transform (22/10/05) 2회차 참석한 셰이더 스터디입니다. 이번 발표는 푸리에 변환을 주제로 김대국님께서 준비해 주셨습니다. 발표자료 및 자세한 내용을 셰이더 스터디 카페를 참고 부탁드립니다. 지난 시간에는 구면 조화 함수에 대한 발표를 들었었는데요, 지나가듯이 푸리에 변환이 언급 되었습니다. 구면 조화 함수는 3차원 공간에 대한 세기를 여러 orthonormal 한 공간 벡터와 계수의 곱으로 나타내는 것으로 추상화해 생각해 볼 수 있습니다. 푸리에 변환은 유사한 콘셉으로, 어떤 곡선이든 주기 함수들의 합으로 나타내는 과정이라고 이해하면 간편합니다. 푸리에 변환에 대한 세부적인 내용은 다음 링크로 대체합니다. https://www.jezzamon.com/fourier/ko.html 푸리에 변환을 반응형으로 소개합니다 푸리에 변.. 더보기
Shader Study 후기 - Spherical Harmonics (22/09/19) 계기 발표 내용에 대한 후기에 앞서 셰이더 스터디에 참석한 후기를 간단히 설명드리자면, TA 스터디 월간 온라인 토크에서 자주 이야기를 나누던 Aniz 님의 추천으로, Shader Study 오프라인 모임에 처음으로 참석하게 되었습니다. 해당 모임에 관한 내용은 네이버 카페 - 셰이더 스터디 https://cafe.naver.com/shader 에서 일정을 확인하실 수 있습니다. 후기 회사 업무에 예상치못한 이슈가 생겨 아슬아슬한 시간에 퇴근을 성공하고, 거의 약속 시간에 맞추어 모임 장소에 도착했습니다. Spherical Harmonics와 Streaming Virtual Texture 2가지 토픽으로 발표가 있었는데요, 두 가지 모두 자주 사용하지만 세세하게 어떤식으로 동작하는지에 대해서는 명확히 알.. 더보기
Unity: FormerlySerializedAs For Shader 셰이더 프로퍼티 이름 변경시 데이터 보존 방법 유니티에서는 FormerlySerializedAs라는 Attribute를 지원합니다. 유니티 에디터는 어떤 인스턴스(프리팹, 씬)를 저장할 때, 필드의 이름을 기준으로 데이터를 저장합니다. 만약 어떤 변수의 이름을 수정한다면, 이전에 작업해 두었던 수치 정보를 잃게됩니다. FormerlySerializedAs는 이런 상황으로부터 도움을 줄 수 있습니다. https://docs.unity3d.com/ScriptReference/Serialization.FormerlySerializedAsAttribute.html Unity - Scripting API: FormerlySerializedAsAttribute Success! Thank you for helping us improve the quality of.. 더보기
Unity: 특정 기기에서 텍스처가 특정 축으로 반전되어 보일 때 다양한 기기들은 다양한 그래픽 아키텍쳐를 기반으로 구동됩니다. DX, OpenGL, Vulkan, Metal 등 굵직한 것만 해도 4개입니다. 일부 아키텍처끼리는 좌표계와 텍스처 UV에서 (0,0), (1,1)이 위치한 곳이 비슷하게 공유되기도 하지만, 그렇지 않은 아키텍처도 존재합니다. 보통은 빌드세팅에서 Auto API로 대응시 어느정도 해결되지만, 셰이더를 직접 구성한 경우에는 대응을 위해서 셰이더 코드에서 #define 전처리기를 이용해 뒤집어주는 식으로 작업할 수 있습니다. #if UNITY_UV_STARTS_AT_TOP float scale = -1.0; #else float scale = 1.0; #endif o.uvgrab.xy = (float2(o.vertex.x, o.vertex.y*s.. 더보기
언리얼: 튜링 메시 셰이더 블로그 번역 사전 지식 1. 콤퓨트 셰이더 2. 기존 렌더링 파이프라인 여기에 작성된 글은 번역이 아닌 번역자 코멘터리 원문 : Introduction to Turing Mesh Shaders | NVIDIA Developer Blog Introduction to Turing Mesh Shaders | NVIDIA Developer Blog Turing introduces a new programmable geometric shading pipeline, mesh shaders,, enabling threads to cooperatively generate compact meshes on the chip. developer.nvidia.com 튜링 아키텍쳐는 메시 셰이더 사용을 통해 새로운 지오메트리 셰이딩 파이프라.. 더보기
Unity: ShaderLab 패키지 요구사항 정의 (PackageRequirements) 2021.2 알파버전이 한창 개발되고있습니다. SRP 역시 버전을 바꿔가며 거듭 진화하고 있는데, API 이름이라 지원하는 키워드 등 버전별로 사용가능한 부분이 상이해 섣불리 기존 프로젝트에 적용하기엔 부담스럽습니다. 에셋 개발자들 역시 SRP 버전업에 따라 키워드를 바꿔주거나 추가해주어야하고 유지보수가 쉽지 않습니다. Shader "MyShader" { SubShader { Pass { PackageRequirements { "com.unity.render-pipelines.universal":"[10.0,10.5.3]" } ... } Pass { PackageRequirements { "com.unity.render-pipelines.universal":"[11.0,11.2.4]" "com.my.ot.. 더보기