From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

OSL Node Todo list

This is the todo list based on the discussions we had at Blender Conference 2012. It concerns mostly design implementation for the interface and user interaction with the OSL node.

The code is in: http://gitorious.org/blender-trunk/blender-trunk (branch cycles_osl)

  • update: I don't think we should/need to hack-patch osl for stringstream for compiling. The tempfile module of python should be enough to get us doing. We still need for liboslexec though.
  • up-update: liboslexec takes a folder as argument (so I've been told, didn't check). So I think we do need an .oso afterall. The way I'm doing now is by creating a md5.oso (md5 being the md5 of the oso content). At load time we create any .oso that is necessary. WE ARE NOT DELETING THEM though. And they could probably go to a user-selected folder, or do like blender do for other cache-systems (e.g. thumbnails).
  • I think the big issue now (apart from code polishing ...) it's to find a elegant way for the user to update all scripts at once.

blender todos

  • non-constant parameters should not have their default exposed in the ui (needs osl patch)
  • replace timestamp check by md5? (it may impact performance though, the test is done every "frame") or something like http://packages.python.org/watchdog/ - I like timestamp but lukas was a bit hesitant on it

oso todos

  • liboslquery (e.g. oslinfo) should differenciate between const and non const default values in the parameter declarations [1]

other related blender todos

  • Node groups should have a category option to blendin with the other nodes seamlessly (this is how we plan to shader OSL Nodes datablocks anyways).
  • When create a new group with only one node, link all the node sockets with the group
  • When dragging out a input socket create a new input socket (value, colour, vector) already connected to it.

done recently

  • compile from text editor sorted out (working for groups too)
  • internal texts supported
  • .oso stored in the Node DNA and created in the shader folder as "md5".oso
  • option to select internal or external texts
  • auto update for external files
  • super nice ui