I'm working to get the camera+projector issue sorted out.

For those who are not aware of this, the camera is the "object" in 3d that 
observes the scene, whereas the projector (for lack of a better term) is the 
2d canvas within the window which displays what the camera can see.

The question is:

 Should you pass the camera as an initial argument to projector, or
 Should you pass the project as an initial argument to the camera, or
 Should they continue to be the same object?

The three options look like this:

 win = soy.Window('Example', size=(640,480))
 sce = soy.Scene()
 cam = soy.Camera(sce)
 pro = soy.widgets.projector(win, cam)

OR

 win = soy.Window('Example', size=(640,480))
 pro = soy.widgets.projector(window)
 sce = soy.Scene()
 cam = soy.Camera(scene, pro)

OR (as it currently is in the code I'm looking at)

 win = soy.Window('Example', size=(640,480))
 sce = soy.Scene()
 cam = soy.Camera(win, sce)


I don't like the current method because it doesn't keep a clean separation 
between 3d-land and widget-land - I really like the concept that all widgets 
inherit the generic widget class and have predictable, standard methods.

Combining them also prevents us from having a .position attribute on each, the 
camera a 3d position and the widget a 2d position.  This isn't the only 
"common attribute" that gets munged in the process either.

I also like the concept of the "projector" because it makes rendering a 3d 
scene nearly identical, on the widget end of things, to rendering a video.
_______________________________________________
PySoy-Dev mailing list
[email protected]
http://www.pysoy.org/mailman/listinfo/pysoy-dev

Reply via email to