<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>1323</bug_id>
          
          <creation_ts>2016-09-27 12:02:17 +0200</creation_ts>
          <short_desc>Enhance the math utilities to support more operations on vectors, matrices and quaternions</short_desc>
          <delta_ts>2019-03-29 13:58:07 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>opengl</component>
          <version>tbd</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Julien Gouesse">gouessej</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>5943</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2016-09-27 12:02:17 +0200</bug_when>
    <thetext>JOGL has some math utilities in the packages &quot;com.jogamp.opengl.math&quot; and &quot;com.jogamp.opengl.math.geom&quot; and &quot;com.jogamp.graph.geom&quot;. The size of these APIs is very small but some essential features are missing. It tends to encourage some developers to use third party libraries whereas JOGL could satisfy their needs by reasonably increasing the complexity of the APIs.

Moreover, there is some code duplication between projects strongly tied to JogAmp, for example Java3D (Vecmath) and JogAmp&apos;s Ardor3D Continuation (own vecmath implementation). Using a single common math API would help several engines to use a subset of JogAmp&apos;s Ardor3D Continuation (ardor3d-math + ardor3d-savable + a subset of ardor3d-extras) to load 3D models or to move the importers into jogl-utils and to use them in all JogAmp scenegraph APIs.

There are several sources of inspiration:
- elect&apos;s JGLM
- JOML
- Vecmath
- ardor3d-math

The missing features are (non exhaustive list):
- matrices containing 2, 3 or 4 integer, float and double values
- vectors containing 2, 3 or 4 integer, float and double values
- operations that apply on the current &quot;local&quot; object (this) and that create another one (exactly like ardor3d-math)
- lerp, slerp, simplex noise, ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5944</commentid>
    <comment_count>1</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2016-09-27 12:32:49 +0200</bug_when>
    <thetext>- pre-multiplication of quaternions
- Gram-Schmidt orthogonalization: https://github.com/ricardolpd/Ardor3D/commit/7aff0a370fef909a11a5eed9591d6ab7205cd089</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5945</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2016-09-27 12:35:20 +0200</bug_when>
    <thetext>- component-wise multiplication
- operations to convert from/to NIO buffers
- bitangent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5946</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2016-09-27 12:41:15 +0200</bug_when>
    <thetext>- adjugate: http://en.wikipedia.org/wiki/Adjugate_matrix
- quaternion inversion (!= conjugate)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>