-
Notifications
You must be signed in to change notification settings - Fork 4
shading
hanwoong kim edited this page Oct 6, 2017
·
23 revisions
- 블랜더파일을 이용해서 쉐이더를 라이브러리화하면 하나의 쉐이더당 530k 용량을 소모하게됩니다.
- Osl파일을 사용하면 3k정도의 용량을 사용합니다. 또한 코드이기 때문에 라이브러리 및 Git을 활용한 버전관리가 쉽습니다.
- OSL은 GPU를 지원하지 않습니다.
- 리눅스, 유닉스에서는 컴파일러가 설치되어 있어야 합니다.
/usr/bin/cpp
- OSL은 node방식으로 디자인되어있습니다.
- a.osl파일을 컴파일하면 같은 경로에 a.oso 파일이 생성됩니다.
- stdosl 소스코드 위치 : 블랜더소스코드/intern/cycles/kernel/shaders/stdosl.h
- 렌더러는 Cycles로 셋팅해야 OSL쉐이더를 사용할 수 있습니다.
- 렌더 옵션에서 Open Shading Language 옵션을 활성화해야 렌더링시 블랙으로 렌더링되지 않습니다.
- Lazypic Init셋팅에 자동으로 활성화되도록 셋팅되어있습니다.
shader simple_material(
color Diffuse_Color = color(0.6, 0.8, 0.6),
float Noise_Factor = 0.5,
output closure color BSDF = diffuse(N))
{
color material_color = Diffuse_Color * mix(1.0, noise(P * 10.0), Noise_Factor);
BSDF = material_color * diffuse(N);
}
-
N
: Normal -
P
: Point -
I
: Eye vector
- Osl쉐이더 레퍼런스 : https://github.com/sambler/osl-shaders
- node Wrangler : 노드에디터에서 Ctrl + Shift + 마우스를 클릭하면 실시간 렌더링뷰에서 해당 노드연산만 프리뷰할 수 있습니다.
- Arnold 5.0이상
- Renderman(PxrOSL) : https://renderman.pixar.com/resources/current/RenderMan/PxrOSL.html
- Maya
- Vray(VRayOSLMtl) : https://docs.chaosgroup.com/display/VRAY3MAX/OSL+Support
- Houdini
- Katana & Gaffer