Shader para Mental Ray com AO embutido

Por: Andre Vieira  

Em: 11/01/2007 12:18

Oi gente, tudo bem? Nos meus estudos com a linguagem de Shader do Mental Ray, eu escrevi um Shader Blinn básico com reflexão e transparência. Incentivado pelo Marco Tomaselli, que queria um Shader desse com AO junto, para facilitar o trabalho, eu tentei fazer e deu certo, então, estou colocando aqui para vocês baixarem e usarem. Acredito que vai facilitar para quem deseja trabalhar com materiais puros do Mental Ray e ainda não sabe compor com os Shaders. Para facilitar ainda mais, eu fiz a interface em português. Aproveitei e coloquei função para reflexão borrada também. Basta aplicar o Shader no Slot Surface do material Mental Ray, as configurações de Photons, Shadows e Material já estão definidas. Espero que gostem. Abaixo um render de teste com Final Gather, Area Light, reflexão borrada e Ambient Occlusion. BAIXAR O SHADER Abaixo segue o código do Shader declare phenomenon color "3D1_Blinn_AO" ( struct "p" { color "Ambience", color "Ambient", color "Bright", color "Specular", scalar "Roughness", scalar "Spec Ior" }, struct "r" { color "Reflect Color", scalar "Reflectivity", boolean "Blur Reflection", scalar "Spread", integer "Samples" }, struct "o" { color "Dark", scalar "AOspread", scalar "Max_distance", integer "AOsamples" }, struct "l" { integer "Mode", array light "Lights" } ) shader "Occlusion" "mib_amb_occlusion" ( "bright" = interface "p.Bright", "dark" = interface "o.Dark", "spread" = interface "o.AOspread", "max_distance" = interface "o.Max_distance", "samples" = interface "o.AOsamples" ) shader "Blinn" "mib_illum_blinn" ( "ambience" = interface "p.Ambience", "ambient" = interface "p.Ambient", "diffuse" = "Occlusion", "specular" = interface "p.Specular", "roughness" = interface "p.Roughness", "ior" = interface "p.Spec Ior", "mode" = interface "l.Mode", "lights" = interface "l.Lights" ) shader "Reflex" "Metal" ( "Surface Material" = "Blinn", "Reflectivity" = interface "r.Reflectivity", "Reflect Color" = interface "r.Reflect Color", "Blur Reflection" = interface "r.Blur Reflection", "Spread" = interface "r.Spread", "Samples" = interface "r.Samples" ) root = "Reflex" apply texture, light, material, shadow, photon gui "gui_3D1_Blinn_AO" { control "Global" "Global" ( "category" "Illumination", "uiName" "3D1 Blinn AO", "addApply" "illum" ) control "p" "struct" ("uiName" "Parâmetros básicos") { control "Ambience" "color" ("uiName" "Ambientação", "value" 0.0 0.0 0.0) control "Ambient" "color" ("uiName" "Ambiente", "value" 0.0 0.0 0.0) control "Bright" "color" ("uiName" "Cor difusa", "value" 1.0 1.0 1.0) control "Specular" "color" ("uiName" "Cor especular", "value" 1.0 1.0 1.0) control "Roughness" "scalar" ("uiName" "Rugosidade", "value" 0.2) control "Spec Ior" "scalar" ("uiName" "IOR especular", "value" 20) } control "r" "struct" ("uiName" "Reflexão") { control "Reflectivity" "float" ("uiName" "Nível de reflexão", "value" 0.5, "range" 0.0 1.0) control "Reflect Color" "color" ("uiName" "Cor do reflexo", "value" 0.3 0.3 0.3) control "Blur Reflection" "boolean" ("uiName" "Reflexão borrada", "value" 0) control "Spread" "float" ("uiName" "Nível de borrado", "value" 4.0, "range" 0.0 90.0) control "Samples" "integer" ("uiName" "Qualidade", "value" 0, "range" 1 100) } control "o" "struct" ("uiName" "Oclusão Ambiente AO") { control "Dark" "color" ("uiName" "Cor de oclusão", "value" 0.0 0.0 0.0) control "AOspread" "scalar" ("uiName" "Dispersão", "value" 0.75) control "Max_distance" "scalar" ("uiName" "Distância máxima", "units" "world", "value" 0.0) control "AOsamples" "integer" ("uiName" "Qualidade", "value" 16, "range" 0 512) } control "l" "struct" ("uiName" "Luzes") { control "Mode" "integer" ("uiName" "Modo das luzes", "value" 0) control "Lights" "array light" ("uiName" "Luzes") } } end declare
Olá André, tudo bem? Esse shader é bem legal, já testei ele aqui. Depois farei mais alguns testes.
Sergio Feitosa

Faça o login para poder comentar

Informações da Comunidade

Total de mensagens publicadas pelos membros da comunidade: 713049.

Total de membros registrados: 140261

Últimos membros registrados: nfbelchior, ForceXFrance25, Childerstroys, glpformulaprix, Dineiwagner, ryhan.souza, mc582469, sousadessa2025.

Usuário(s) on-line na última hora: 820

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2025. Todos direitos reservados.