[Soc-2009-dev] Raytrace api
André Pinto
andresusanopinto at gmail.com
Mon May 11 17:12:13 CEST 2009
Hi all,
==Questions==
this week I have been coding a more generic raytrace api and I have some
questions:
* In the new files (rayobject.h, rayobject*.c), I copied the GPL license
block from other files and changed copyright to "2009 Blender Foundation". I
also set the properties svn:keywords and svn:eol-style.
Is this all that needs to be done for created files?
And Is there any sample GPL licence block? i noticed those sligtly change
between files.
* The exported functions from render, should all started with RE_ ?
That means the functions I added should be:
RE_rayobject_create/raycast/done/add..
* Is it safe to assume that all MEM_callocN are aligned to 4bytes?
==API details==
Details about the ray trace design implementation
(render/intern/include/rayobject.h):
I denoted RayObject as everything where its possible to raycast including a
single face or a complex data structure.
Thus allowing to create compound structures (eg.: a bvh of octrees (like 1
octree per object)).
In order to allow an eficient type-detectation mechanism, all RayObjects are
aligned to 4bytes, leaving 2bits of adress to determine the type, so far 2
types exist:
RayFace - struct with coords, object and face.
RayObject - struct to an abstract raytrace aceleration, with callbacks to
generic stuff like: add faces, free struct and raycast
All callbacks like get coordinates/transform_coords, check_hit, where
removed for now.. as the functionality of those will be coded as needed in a
better way.
For now only API and Isect structure were modified.
Daniel Salazar(ZanQdo) reported an 9% improve on his quad core2 :)
At the moment only shadow rays work/were tested.
Best regards,
André
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2009-dev/attachments/20090511/85d8c7be/attachment.htm
More information about the Soc-2009-dev
mailing list