Affichage des articles dont le libellé est Cycles. Afficher tous les articles
Affichage des articles dont le libellé est Cycles. Afficher tous les articles

2020/06/09

In Nebula Shade, an OSL Shading project

For a student project, we need to make Nebula volume from a picture of real Nebula.

The goal was not to have a scientifically correct representation. It was to have color and shape of the photo on a beautiful volume render.

The shader makes to a 3D volume extrusion, adds some fractal complexity and stars around.

It uses two images:
• the original photo of the nebula
• a modified one, representing the depth of the nebula (made with photoshop).


It is 100% OSL.

It can be adapted to any OSL renderer with volume closures: Arnold, Cycles, etc :



Here is the film :



Enjoy !

2020/05/04

Un shader pour voir les morts !

Une fois n’est pas coutume, cet article est en français !

Voici un projet pédagogique entièrement orienté autour d’un shader OSL.
Il a été réalisé avec Blender 2.82 et Cycles, en rendu CPU et GPU.

Le but était de montrer comment développer un visuel à partir d’un besoin narratif, et, inversement, comment les possibilités d’un shader peuvent augmenter une narration.

Le film est donc constitué d’une mise en contexte et d’une trame narrative simple, elle-même servant de liant aux différentes possibilités du shader.

Les différentes fonctions utilisées sont :
- Simulation d’ancienne TV à balayage,
- Caméra de surveillance,
- Ambiant Occlusion,
- Ombre portée


Elles se regroupent pour correspondre au but recherché : la mise en scène d’un film utilisant une ancienne caméra mystérieuse, permettant, en théorie, de voir les morts !

Le making-of explique la démarche de ce projet :
- La première partie est consacrée à la genèse du projet, et de briques de bases.
- La seconde est consacrée à quelques petits trucs sous Blender ayant permis la réalisation.
- La troisième à un tutoriel montrant les grands principes utilisés dans le shader.

D’autres projets ont été réalisés, encore d’autres sont en cours de réalisation ou de finition.

N’hésitez pas à me contacter si vous avez des besoins pédagogiques en shading OSL.

Et n’oubliez pas de partager les vidéos 😊 !





Making Of :

2020/04/02

Propagation EEVEE

I take advantage of the social distancing to try many things in 3D.

For a long time, I want to test EEVEE, the wonderful 'Near-Real-Time' Blender renderer.

For this short project, I use Meshroom for photogrammetry and Blender 2.82.

All materials are animated, and have, at least 10 nodes.
I used EEVEE in Optix mode, with the Optix denoiser.

The first trap I fall into was the 'Render Animation' menu. Never use the Render Animation menu with EEVEE !!! Never !!!
You must use it for every other renderer, but not with EEVEE!!

Using it will transform your Ultra-fast Eevee in Ultra-Slow Eevee, jumping from 8s/frame to 3m30/frame!!!























You HAVE to use the new menu in viewport : Viewport Render Animation.
Then, you'll have EEVEE Full Power !






















Enjoy !


2018/04/11

OSL in Autodesk 3DSMax 2019

This is the very good news of the latest 3DS Max release, from Autodesk.

An OSL pattern generator is now included in 3DS Max 2019 !!!

It is awesome ! It can export to bitmap, for non-OSL renderer. Shaders are fully intergrated in OSL renderers, like Arnold.

It's optimisation is not done shader by shader, but for the whole node tree. So many little shaders would go as fast as a very big one doing the same thing! That's Excellent!

Other nice things: you can edit and compile OSL scripts inside 3DS Max, or even link them to your scene (or unlink to file, in 3DS Max terminology)!


Indeed, I just have one thing to say...
In 2012, Blender was the first to do all of this!

Brecht Van Lommel did a wonderful job on OSL integration in Cycles, as he did a wonderful job for Solid Angle Arnold.

For now 6 years, we use Blender for easy OSL dev., using included script editor, realtime render update, etc...
And, most impressive, Blender is still ahead! It includes closures and other advanced OSL functions not yet available in 3DSMax.

I started teaching OSL using Blender in 2013. Students were wondering why... Now, they are immediately proficient in writing OSL Shaders in 3DS Max 2019, from the first day!
Now, they can use their knowledge in the biggest and most powerful renderers !

Just because I started teaching OSL 5 years ago !

Long time before this standard was widely available, long time before autodesk decide that it's should be included in mainstream softwares, I was teaching OSL on Blender, Maya and 3DSMax (yes! 3DS Max!) for years!

Because, when your are teaching, you should NOT teach what exists now. You should NOT answer the actuel needs.

You have to teach what will exist when the students will leave school.
You have to teach what will be needed in the next 2, 3 or 10 years!

If you do so, your students will adapt themselve immediately to new technologies! Because they try them before all others.

And Blender is a wonderful tool for this goal.

So, if you are teacher, remeber this :


Go boldly where no human has gone before !


OSL in 3DS Max is the perfect illustration of this story!

2017/09/17

Giant LED Screen, an OSL shader for every renderer

The Giant LED Screen shader is an OSL shader used for teaching how to adapt shaders for any OSL compatible renderers.

The shader is rather complex. It is using object individual ID, distance to the camera, U and V quantization, and emission.

Making a version for each rendering software is not easy, as a lot of this features change fron one renderer to another. Indeed, it is a really good exercise for teaching portability !

Tested versions are for :
- ARNOLD (Solid Angle), for 3DSMax and Maya.

- Clarisse IFX ( Isotropix)

- Cycles, for Blender.

- Renderman (Pixar), Renderman 21.5 for Maya.

- Vray for 3DS Max (Chaosgroup)

If I have opportunity to try to adapt it to other renderers, I would update this post.


Shader features are :
: Simulate LED and local led glow
: LED visibility according to camera distance. This is very useful for having a total moiré control.
: Simulation of dead pixels and led chunk visibility and non uniformity.
: Screen color, useful for road sign...
: Slideshow of up to 10 pictures, with fading as transition.
: random pictures on each object, so no screens in the scene are identical.
: base luminosity of the screen

Enjoy !

OSL GiantLedScreen Shader from François Gastaldo on Vimeo.

2017/04/19

OSL Juggler everywhere !

Well, not exactly everywhere...

Unfortunately, I don't have access to all renderers of my OSL Renderer BIG LIST.

So, I tried to adapt my OSL Juggler, based on 1986 Eric Graham's 3D Juggler, to OSL compatible renderers I could use.

Despite including a full ray tracing renderer in itself, the OSL Juggler Shader is rather simple. It just use I and P variables, in world coordinate system, and the emission() closure.

The main adaptation was Y up and direction of I.

You can find :

Juggler for Blender

Juggler for Renderman

Juggler for Arnold + 3DSMax 2018

Juggler for Arnold + Maya

Juggler for Vray Max and Maya

Juggler for Isotropix Clarisse IFX

Juggler for Appleseed, Blenderseed and Maya


If you want an adaptation of the Juggler for your Renderer, email me.
Then, send me a link to download an useable version of your software (at least for 30 days...) and to some documentation of how to include an OSL shader.

I'll contact you if I would find any problem.

The OSL Juggler shader doesn't use advanced OSL fonctions (not getattribute, no trace, etc...), so it could work on any software using OSL.

Enjoy playing with the 1986 Erci Graham's JUGGLER! The animation that changed the world of 3D forever...


2017/04/15

MasterClass OSL au BBUG en ligne

Les Masterclass OSL organisées au BBUG, à Bruxelles, sont en lignes :

Indispensables pour tous ceux qui veulent débuter en OSL avec Blender / Cycles !

En français uniquement, désolé...














Et aussi, toutes les MasterClass du BBUG :
** BBUG MASTERCLASSES **


Enjoy !!!

2017/04/10

1st Quarter 2017 OSL workshops and teaching reel

This first quarter 2017 OSL teaching session, at ESTEI school, was really nice, with cool results.

Here is the reel of works done during worshops, teaching session, or tutored works.
The shaders are 'as is' from students work, with no correction. Some little glintches are still present, but I prefer showing real student works instead of modified (and without bug) ones.

If you are intersted in OSL workshops, or sessions, or masterclasses.... just send me a message !

Enjoy !

OSL Shader Writing Courses, 1st quarter 2017, Students Works Reel from François Gastaldo on Vimeo.

2016/11/11

OSL Renderers Big List !!!

It's very difficult to find a complete list of renderers including Open shading Language.

I need it for OSL teaching and for my OSL Master-Class, so I made it myself !

I could miss some. If you don't find your Rendering software here, please, write a comment.

Some renderers have different features according the 3D software hosting it. So, I just list the ones including OSL.
It is very difficult to make this list, as the OSL implementation could be very different. In some case, it is even hidden to the final user (like in Corona for Maya). In other cases, there is no end-user interface for compiling the .osl shader (should be compiled by oslc before using it). Some are so poorly documented that it is near impossible to use.
I decided to make just six categories, mostly useful to end-user.
I didn't made Commercial vs Open source categories neither.
It could be very useful to make compatibility charts between renderers and OSL specification, but it's not the goal of this post.

This post is evolutive, according to renderers actualities.

This post is up to date the 12 / 04 / 2018, list version: 8.1

Full OSL renderers, with compilation UI
Closure + texture pattern,
ready to use,
in-software OSL compilation
.

-> Autodesk 3DS Max 2019 with Arnold Renderer included
------------------> OSL Documentation

-> Autodesk MAYA 2018+ with Arnold Renderer included
------------------> OSL Documentation

-> 3delight for Katana
------------------> OSL Documentation

-> Cycles in Blender
------------------> OSL Documentation

-> Cycles4D, Cycles for Cinema 4D
------------------> OSL Documentation

-> Vray for 3DSMax
------------------> OSL Documentation

-> Vray for Cinema4D
------------------> OSL Documentation (for full documentation, read documention of VRay for 3DS-Max)

-> Vray for Maya
------------------> OSL Documentation (very poor...)

-> Autodesk Beast
------------------> OSL Documentation

-> Arnold Render Standalone and API
------------------> OSL Documentation

Full OSL renderers
Closure + texture pattern,
ready to use,
not documented compilation or external oslc compilation
.
-> Appleseed HQ
------------------> OSL Documentation

-> 3delight, 3delight Studio Pro
------------------> OSL Documentation

-> 3delight for Maya (very promising and useable experimental feature...)
------------------> OSL Documentation

-> FluidRay (no available public documentation)

-> BRL-CAD, Open source Solid Modeling CAD
------------------> OSL Documentation

-> XRT Renderer
------------------> OSL Documentation



Texture Pattern only OSL renderers
-> Pixar Renderman 21+, and Pixar Renderman for Maya
------------------> OSL Documentation

-> Clarisse 3.6 IFX
------------------> OSL Documentation

-> Autodesk 3DS Max 2019 (with export of OSL generated maps to any renderer !)
------------------> OSL Documentation

-> Octane Render
------------------> OSL Documentation



Futur, promised in next release, or currently in OSL implementation
-> Maneki NPR and Photo-Surreal Rendering Renderer, with 3Delight included



Non-rendering software OSL compatibility
-> Shader FX, node based OSL script generation include in Autodesk Maya and Autodesk 3DSMax
------------------> Documentation

-> Gaffer, framework for VFX
------------------> OSL Documentation


Project using OSL
-> Animal Logic Glimpse renderer

-> Cycles standalone

-> Ubisoft motion picture group's proprietary renderer.

-> Spectral Studio (no more available as public, still used as in-house renderer)

-> Helios GPU + OSL Project

-> Paprika NPR Render (no update since 2014)

-> open shading language renderer project




2016/02/21

OSL Masterclass !

La Masterclass OSL aura lieu le 27 février à Bruxelles.

Une journée complète sur OSL !

En partant du niveau débutant le matin, j'attaquerai le Shading complexe l'après-midi.

Si le Shading vous intéresse, c'est l'événement à ne pas manquer !

Plus d'informations ici.

2015/12/31

Happy New Year !

Happy new Year 2016 to all!

With a lot of RIRE!

Bonne Année 2016 à tous, avec beaucoup, beaucoup de Rires !

for this new year, new features:
- IBL
- better Light tracing (not yet full bidi...)

And soon, RIRE in classroom!

2015/12/26

Christmas 'pour RIRE'

RIRE, the Full OSL Path Tracing, is going on!

Currently, the main problem is … Time! Not rendering time, but finding time to continue it and made a ‘usable for education’ version.
Indeed, there are some new features.

Choosable materials: As the ‘setmessage’ is not implemented in Cycles, I use objects name to choose the material. I read the name with:

getmessage ("trace", "geom:name" , CurrentObjName ) ;

then I read the material number. It’s very limited, but it works!

There is also a new Lighting rendering included (with cleaner code).

On the way, there is IBL and more complex materials…

To be continued…

2015/12/07

Artistic control on Path Tracing: Bouguer Factor included in RIRE

Usually, many path tracers over the CG market lack of any artistic control over the rendering.

There is nothing to have control of lighting on an artist point of view: contrast, flatness, hardness.

All you can do is working on Tone Mapping or on image post processing. It means that it is near impossible to preserve textures, colors or materials while doing such image degradation.

I implemented the ‘BOUGUER FACTOR’ in RIRE (Renderer inside Renderer).

The Bouguer Factor is a true control over Path Tracing for artist.
It allows, with:
- small value: very bright and soft lighting.
- bigger value: very dark (noir) and hard lighting.

All without compromising lighting realism (same number of bounces), while maintaining texture, colors and materials.

The use of the Bouguer Factor is just another good reason to do not have to add an Ambient Occlusion Pass to your rendering, and then have less render time. (Indeed, if you still need one, just use GAO).

Here are some examples:




2015/12/05

RIRE, the OSL Path Tracer: some improvements

RIRE, our full OSL Path Tracer 'pour rire', is going on !

The last improvements are :
- Better Russian Roulette (still need more improvements).
- Shortest Path evalutation, with Back Directionnal Path Tracing.
- Better mixing between direct light and environment contribution.

Now, some comparisons with Cycles, even if comparaison is not reason ! RIRE is about 30 to 40% slower. Indeed, it's faster than expected !

Comparaison : 200 Samples, 64 bounces max :
RIRE :



Cycles :



Now, with just 20 Samples! :
RIRE :


Cycles :


And just some test render :

To be continued!

2015/11/29

RIRE : A Path Tracer in OSL


RIRE stands for: Renderer Inside REnderer.

It also means that it is a renderer ‘pour rire’, (French expression meaning ‘not for real’).

RIRE is a Brute Force Naive Path Tracer, entirely written in OSL, and could be run (with some adjustments) on any good OSL Renderer, like AppleSeed or Cycles.
Just put a plane in front of your camera, and watch through the RIRE Rendering!

It is made only for educational purpose! It has absolutely no pretention for production, not even being fast. It is just to show and understand how a Path Tracer is made.


Indeed, here are the first results from the first version :

2 bounces:


32 bounces:


256 bounces:


Real scene, 64 bounces:



To be continued...

2015/06/11

The Juggler is back, in OSL!



--------------> Updated version for other renderers : Arnold, Renderman, VRay ...


OSL is a very powerful and high level shading language. It’ near possible to do anything with it, even the most unexpected shaders!

As I was working on the FOSPHORE project, I was thinking “… spheres, spheres, spheres, just like the very first 3D on personal computers… “ and Wosh! I rushed back in time, in 1986, to Eric Graham’s Juggler.

It was a true milestone in Computer Graphic! If we are using 3D software on our PC now, it’s also because, one day, a small Juggler animation told us “it’s possible to do it without Mainframe Computer, with the computer on your desktop!”.

So, here is my OSL version of the Juggler!

I try to do it as close as possible to the 1986 rendering. So I wrote a true Minimalist Ray Tracer inside the OSL shader.

This shader is near Real-Time. And you can play with it inside Blender! (The first Juggler was more than one hour rendering time on Amiga computer in 1986, in 320x200 pixels).

You can DOWNLOAD the .oso shader file and use it in Blender here.

I didn’t release the .osl yet. I first need to clean up the code, and add a ton of comments!

As it is a .oso, it would not work on other renderer than Cycles. Indeed, you could try it, as the only closure used is ‘emission’. I focused on Blender because of real time Cycles visualization.

I didn’t include options for polygon orientation, or XZY/XYZ choice.
If you are interested, just post a comment and I’ll do it asap!

Enjoy!

The Juggler OSL Shader from François Gastaldo on Vimeo.

2015/05/18

FOSPHORE part Two: inside the RGB Cube

Here is the second part of the FOSPHORE OSL Project!

FOSPHORE_RGB turn any object in an RGB Cube made of spheres, thousands or even millions of spheres if you want!

FOSPHORE_RGB just need a 6 polygones cube to let you explore the RGB Cube!

It’s an OSL Shader.

No sphere is really created, and no memory is used.

The current version is not yet releasable. There are still some adjustments to do to let you play with it without unexpected results.

But the first results are amazing!!!









2015/05/16

FOSPHORE First look !




FOSPHORE is an OSL Project made for education.

FORSPHORE is for:
Full Of SPHere On REndering

The goal is to make some shaders using ‘in shader sphere rendering’.

Those Open Shading Language shaders convert any object to a bunch of spheres! With them, you can have a 6 polygones cube looking like one million spheres at rendering time, with no RAM overload.

This is purely shading: no particule, no molecular nor granular plugins. Just apply the shader to your object to turn it to thousands of spheres.

The main interest of those shader is education! They are not yet Production Ready Shaders!
The speed of those shaders is not so smaller than converting object to real sphere particules.
The granular tests made with Softimage ICE are even faster! (But it is Softimage ICE… Rest In Peace Softy)

In this post, you can see the first results of FOSPHORE_FILL.

This first shader fills an object with spheres of chosen size and space.
You can randomly change size, place, color… It’s also possible to animate the noise and the spheres.
There is no limits to the number of spheres, and you could have thousands and thousands spheres in your object!

Unfortunately, the shader is not yet to be released. There are still some bugs, and some optimization is needed. I also have to make it to work correctly with VRay.

Enjoy!




2015/02/10

GOA 1.2, updated version.

Here is the new version of GAO, the multipurpose OSL Ambient Occlusion.

There is just one new fonction : Self Occlusion Only

When self occlusion is on ( value = 1 ), the ambient occlusion is just for this object, and ignore all others.

This is very useful when using GAO for texture purpose or for dirting an object.

Download and enjoy the new GAO 1.2 !

Warning: this version doesn't work with VRay.