[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vr / w / wg] [i / ic] [r9k] [s4s] [vip] [cm / hm / lgbt / y] [3 / aco / adv / an / asp / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / qst / sci / soc / sp / tg / toy / trv / tv / vp / wsg / wsr / x] [Settings] [Home]
Board
Settings Home
/3/ - 3DCG



Thread archived.
You cannot reply anymore.



Are there any TDs / more technical Lookdev guys here who could offer some tips on writing arnold shaders? I'm specifically working on a physically accurate (as close as i could get) atmosphere for a low orbit earth (rayleigh + mie scattering etc).

I've been looking at O'neil's Accurate Atmospheric Scattering and Bruneton's Precomputed Atmospheric Scattering (which is a mouthfull)

I've never written anything this mathematically complex before, anyone have any guidance or other reference?

I could always do a rough approximation in color ramps but it would be rather crude and much less versatile.
>>
>>571253
What's so hard, download the shader from O'neil's Accurate Atmospheric Scattering and translate it to arnold.
>>
>>571272
because his implimentation doesn't use multiple scattering and he left out the phase function
>>
>>571274
i should note that its because most of these resources are built to run in real time, which is not a concern.


also osl shaders aren't arnold specific
>>
What kind of money are you offering for me to make it?
>>
>>571277
not asking for that
>>
>>571253
If you want to simply have a "dome-light texture" that follows the details of this paper, it is possible in OSL.

If you want an actual volume shader that scatters light and casts volumetric shadows within it, you need to write a volume shader in C++, which is a herculean task.

Here is an example shader written in C++ for the alSurface:
https://github.com/ChaosGroup/vray_al_surface/blob/master/std_plugin/vray_brdfalsurface.cpp
>>
>>571589
OSL can do volumes though
>>
>>571589
i def wouldn't describe 350 lines of c++ as a herculean task, but i see your point. even though im not sure where the limitation in osl you're describing is, its not that big of a deal since everything in osl is part of a library with a c++ api anyway




Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.