I think you must use software rendering to do that (i.e. implement your own
rendering engine). The hardware rendering is using a 4x4 projection matrix
and there is no way (to the moment) you can override that. So, in my
opinion, your RFE should be sent to the graphic card manufacturers (NVIDIA,
ATI, MATROX, etc...)

Cheers,

Florin

P.S. As a workaround, set the projection matrix to be identity, and then
transform all the vertexes of your scene through your projection algorithm.
Of course, each time you change the view (or the scene), you must recompute
your scene from scratch. That looks pretty much like a mixture between
software and hardware rendering. And not very performant - most suitable for
static scenes.


-----Ursprüngliche Nachricht-----
Von: Young, Jason [mailto:[EMAIL PROTECTED]
Gesendet: Dienstag, 10. Juni 2003 14:50
An: [EMAIL PROTECTED]
Betreff: [JAVA3D] rendering using projection that is not a 4x4 matrix


In a nutshell, I need to use a specific projection in the rendering process
that is NOT a 4x4 projection matrix (it is instead a very large rational
poloynomial). It would be great if there was a View.projectionMethod(...)
that I could override, but there isn't. I have been looking high and low for
a way to do this.

My first step is to approximate my projection with a 4x4 matrix, and could
use it like so:
View.setCompatibilityModeEnable(true)
View.setLeftProjectionMatrix(myApproximation)
This might work but limits me.

Another line of thought I had was to use immediate mode rendering and get to
the lowest level of rendering I could: override Canvas3D.renderField()
inside which I could use Canvas3D.getGraphicsContext3D()... but it looks
like I can't control GraphicsContext3D.draw(Shape3D) without basically
implementing my own renderer anyway. And it looks like the GraphicsContext3D
is not intended to be subclassed anyway. Without looking at the j3d code, I
suppose it uses projection abilities from View, and I can't subclass View to
use a custom projection (as mentioned above).

Any thoughts on how to work around this?
- Can I subclass View somehow to do this?
- Or get the rendering thread somehow to use a custom projection, not a 4x4
projection matrix?
- Or has the Java3D source code ever been released that I could make my own
extension?
- Or is this hopeless and I should submit an RFE and be on my way?

Any help is greatly appreciated!

        Thanks! :)

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

==========================================================================To 
unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to