|
From: James W. <ja...@fr...> - 2007-06-29 17:26:57
|
Jose' Cruanyes wrote: > We're ready to go on with the Hiddenline renderers, but I'm not sure > that poluting the Quesa space is the way to go, also because we want > to create several different renderers. > > so we want to detach the renderers from quesa. > > there are several options, > one Quick n dirty that is use several #defines to turn on and off > the renderers at compile time, > and the other is to make all the renderers (minus one?) plug-ins. > > the problem with the second approach is that the Open GL renderers > (that forms the base class for all others) uses private View methods > and data, so we have to make them public. Private view *data*? I don't remember any such case. If I search the OpenGL renderer folder for "E3View", I only find the function calls: E3View_State_SetShaderSurface E3View_SubmitRetained It seems to me that the bigger problem with separating renderers into plug-ins is the fact that subclasses of the OpenGL renderer use methods and members of the base class. > the third approach is to leave the OpenGL Hiddenline renderer (only > one) on by default, I'm not sure I understand what you mean here. Make the hidden-line renderer, but not its base class, the only built-in renderer? > Also, What about make the cartoon renderer a illumination style like > Phong or Lambert? Then you'd have an illumination shader that only works in the OpenGL renderer, unless you want to implement it multiple times. I suppose the advantage is that it would be easier to choose not to render certain objects in cartoon style. -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> |