분류 전체보기117 1.1 도형 - draw Circle 지난시간 step 함수를 사용해서 정점 범위 기준으로 4분면 렌더링을 해보고, smoothstep을 사용해서 특정 부분 블렌딩을 해보았습니다. 이번엔 원을 그려봅시다. 원 정점좌표를 만드는 것이 아니라, 원에 해당하는 픽셀들을 선택한 후 픽셀의 색을 입히는 과정입니다. step함수와 length 함수를 사용해서 작성합니다. 클립스페이스 좌표계의 정중앙은 원점 입니다. 원점과 픽셀 간 길이를 내가 원하는 반지름과 비교하여 작은 경우만 색을 칠해주면 됩니다. isCircle = 1 - step(radius, length(position)); length 함수를 사용해서 원점과 픽셀간 거리를 구하고, step함수를 사용하면 다음과 같은 리턴값을 얻습니다. radius < 원점과 픽셀간 거리 : 원 외부 영역 .. 2023. 7. 9. 기초 3. 블렌딩 해보자 (step, smoothstep) 이번에도 2강에 이어서 블렌딩을 해보자. 기존 코드와 달라진 것은 frag 쉐이더 함수내부 사용한 API가 바뀐 것 외에 없다. 하지만 vertex shader를 복습을 하고 넘어가자. UnityObejctToClipPos 함수는 로컬 좌표계를 클립 좌표계로 이동한다. 유니티 클립 좌표계는 범위가 -0.5 ~ 0.5와 같다. frag shader에서 전달받고 곱하기 2를 해서 좌표계의 범위는 -1 ~ 1이 된다. 아래에서 사용한 함수는 step 함수와 smoothstep 함수이다. 참고 > https://developer.download.nvidia.com/cg/step.html step(edge, value) - edge > value면 0을 리턴 , edge < value면 1을 리턴한다. smoot.. 2023. 7. 6. 기초 2. 블렌딩 해보자 이전 단계에서는 화면에 파랑색을 표시 했습니다. 다시 복습하면 작성한 Shader를 보기 위해서는 다음 과정을 거칩니다. Shader 작성 -> 매터리얼에 작성한 Shader 선택 -> Quad 오브젝트에 매터리얼 등록 -> Quad 오브젝트를 Scene 배치 -> 카메라를 Orthographic 으로 수정. ------------------------------------------------------------------------------------------ 이번에는 쿼드의 색상을 계속 변하도록 만들어 봅시다. ------------------------------------------------------------------------------------------ fixed3 struc.. 2023. 7. 5. 기초 1. Shader 배워보자. opengl 기본지식과 Unity를 다뤄본 사람 수준정도면 이해할수 있는 수준으로 작성 할 것 입니다. 셰이더 코드 Language 종류에는 3가지 있습니다. CG : Nvidia에서 제공하는 Shader Language. HLSL : DirectX 기반 Shader Language. GLSL : Opengl 표준 Shader Lanague. 리눅스 임베디드 환경에서는 거의 대부분 GLSL을 사용해서 개발을 해왔으며 가장 오래되고 표준으로 볼수가 있다. 리눅스 네이티브 라이브러리 경우 대부분 GLSL로 되어 있습니다. CG와 HLSL 경우 문법도 비슷 하고 지원되는 기기도 비슷합니다. 차이가 있다면 각 OS마다 지원하는 API가 더 있고 없고 차이정도가 있겠습니다. GLSL 개발자들은 CG, HLSL 새.. 2023. 7. 5. 이전 1 ··· 26 27 28 29 30 다음