Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Opengl-friendly vecmath  (Read 2860 times)
0 Members and 1 Guest are viewing this topic.
Offline abies

Senior Member





« Posted 2003-06-28 15:43:20 »

http://nwn-j3d.sourceforge.net/jogl/vecmath.zip

I have taken existing Kenji Hiranabe version and added column-major setter and both row and column-major getters for Matrix* classes. This should make it easier to directly use these classes with jogl. I have deprecated plain 'set' methods, while they still point to setRM (set row-major) setter, it is better to explicitly state which order you want at given place.

Artur Biesiadowski
Offline Caoimhin

Junior Member





« Reply #1 - Posted 2003-06-30 17:10:14 »

Artur,

I was wondering why you went this route -- deprecating methods and adding specific getters/setters.  Did you consider these alternatives?

1) Leave everything the way it was but add a byte[] getOpenGLVector() method to push the correctly formatted matrix into OpenGL.

2) Create a singleton to store a library initialization parameter (CM or RM).  Then at startup, the programmer decides the orientation.

3) Simply convert the classes to be CM rather than RM oriented.

It's my opinion that opening up setCM and setRM to be executed in the same program presents the opportunity to accidently call the wrong function.  The programmer should be abstracted from how the vecmath lib stores internal data.  After all, the ordering of the cells in the matrix doesn't really matter until the data is delivered to the renderer.

Just my $0.02.
Offline abies

Senior Member





« Reply #2 - Posted 2003-06-30 17:54:58 »

As for the 1 - I wanted to stay away from any mention of opengl here - for me vecmath is independent from any API using it. As for the 2 and 3 - it would create source incompatibility with existing source using javax.vecmath. Point 2 could be possibly implemented in transparent way, but for me methods which have very different behaviour depending on some magical switch are no-no.

As for the isolating programmer - it is not possible with vecmath. All fields are public, with specific names. There is no way to encapsulate anything. By adding RM/CM get/set I just wanted a clear way to interface to non-object version of matrix - plain array.

Please note that only bulk transfer methods have any notion of column or row 'majorness'. All the rest of api is agnostic as far as it is concerned - as it was in original. Only set method was specifically calling for row-major layout.

Yes, it is possible to make a mistake with setCM/RM. Maybe calling it setColumnMajor/setRowMajor would be better ? It is not a problem to change that.

Artur Biesiadowski
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (26 views)
2014-07-24 01:59:36

Riven (25 views)
2014-07-23 21:16:32

Riven (20 views)
2014-07-23 21:07:15

Riven (22 views)
2014-07-23 20:56:16

ctomni231 (51 views)
2014-07-18 06:55:21

Zero Volt (46 views)
2014-07-17 23:47:54

danieldean (37 views)
2014-07-17 23:41:23

MustardPeter (40 views)
2014-07-16 23:30:00

Cero (57 views)
2014-07-16 00:42:17

Riven (55 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!