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