Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (710)
Games in Android Showcase (212)
games submitted by our members
Games in WIP (784)
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 3840 times)
0 Members and 1 Guest are viewing this topic.
Offline abies

Senior Devvie

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

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 Devvie

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


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 Devvie

« Reply #2 - Posted 2003-06-30 15: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.

theagentd (68 views)
2017-02-18 13:42:33

theagentd (73 views)
2017-02-18 13:35:16

h.pernpeintner (1239 views)
2017-01-24 22:39:11

h.pernpeintner (1227 views)
2017-01-24 22:38:32

Galdo (1778 views)
2017-01-12 13:44:09

Archive (1893 views)
2017-01-02 05:31:41

0AndrewShepherd0 (2429 views)
2016-12-16 03:58:39

0AndrewShepherd0 (2282 views)
2016-12-15 21:50:57

Lunch (2361 views)
2016-12-06 16:01:40

ral0r2 (2152 views)
2016-11-23 16:08:26
List of Learning Resources
by elect
2016-09-09 09:47:55

List of Learning Resources
by elect
2016-09-08 09:47:20

List of Learning Resources
by elect
2016-09-08 09:46:51

List of Learning Resources
by elect
2016-09-08 09:46:27

List of Learning Resources
by elect
2016-09-08 09:45:41

List of Learning Resources
by elect
2016-09-08 08:39:20

List of Learning Resources
by elect
2016-09-08 08:38:19

Rendering resources
by Roquen
2016-08-08 05:55:21 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‑
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!