<?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>377</bug_id>
          
          <creation_ts>2009-08-26 05:56:48 +0200</creation_ts>
          <short_desc>float overflow</short_desc>
          <delta_ts>2010-03-24 07:51:50 +0100</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>DEFECT</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>393</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:51:50 +0100</bug_when>
    <thetext>


---- Reported by orace 2009-08-26 05:56:48 ----

If I do :
 GL gl = getGL();
 printmatrix();
 System.out.println(&quot;scale -&gt; &quot; + Scale);
 gl.glScaled(Scale.getX(), Scale.getY(), Scale.getZ());
 printmatrix();
 System.out.println(&quot;trans -&gt; &quot; + Translation);
 gl.glTranslated(Translation.getX(), Translation.getY(), Translation.getZ());
 printmatrix();
With big values for scale ans Translation (up to 10e38,ie max_float) I get a lot
of NaN in the matrix.
Does JoGL use float instead of double for the Modelview/Projection matrix ?


PS : (output of the code below)
GL_MODELVIEW :
_________________________________
|0.75	|0.0	|0.0	|0.0	|
|0.0	|0.75	|0.0	|0.0	|
|0.0	|0.0	|1.0	|0.0	|
|0.125	|0.125	|0.0	|1.0	|
---------------------------------
scale -&gt; 0.25, 2.5000000000000003E-46, 0.5
GL_MODELVIEW
_________________________________
|0.1875	|0.0	|0.0	|0.0	|
|0.0	|0.0*	|0.0	|0.0	|
|0.0	|0.0	|0.5	|0.0	|
|0.125	|0.125	|0.0	|1.0	|
---------------------------------
0.0* here we have 0.0 instead of 1.875E-46
trans -&gt; -1.0, -1.0E45, -1.0
GL_MODELVIEW
_________________________________
|0.1875	|0.0	|0.0	|0.0	|
|0.0	|0.0	|0.0	|0.0	|
|0.0	|0.0	|0.5	|0.0	|
|NaN	|NaN	|NaN	|NaN	|
---------------------------------
here we have to mush NaN



---- Additional Comments From orace 2009-09-01 05:16:46 ----

Created an attachment
Test program show that &apos;native&apos; OpenGL also have overflow &apos;bugs&apos;




---- Additional Comments From orace 2009-09-01 05:17:04 ----

This is not a JoGL bug, indeed OpenGL **use** single precision Floating-Point
Computation.

See Opengl 3.1 spec : http://www.opengl.org/registry/doc/glspec31.20090528.pdf
§2.1.1 page 7

A C/C++ programs with OpenGL reproduce the same bug.



---- Additional Comments From mbien@fh-landshut.de 2010-03-20 13:01:03 ----

set to INVALID since its expected behavior.



--- Bug imported by sgothel@jausoft.com 2010-03-24 07:51 EDT  ---

This bug was previously known as _bug_ 377 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=377
Imported an attachment (id=141)

The original submitter of attachment 141 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>141</attachid>
            <date>2009-09-01 05:16:00 +0200</date>
            <delta_ts>2009-09-01 05:16:00 +0200</delta_ts>
            <desc>Test program show that &apos;native&apos; OpenGL also have overflow &apos;bugs&apos;</desc>
            <filename>test.cpp</filename>
            <type>text/plain</type>
            <size>4631</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
LwovKiAgICAgICAgICAgICAgICAgICAgIGN1YmUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KLyogQWZmaWNoZSBhIGwnZWNyYW4gdW4gY3ViZSBlbiAzRCAgICAgICAgICAgICAgICAg
ICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiovCgovKiBpbmNsdXNpb24gZGVzIGZpY2hpZXJzIGQnZW4tdGV0ZSBHbHV0ICovCgoj
aW5jbHVkZSA8R0wvZ2x1dC5oPgojaW5jbHVkZSA8aW9zdHJlYW0+CgovKiBOb3RyZSBzdHJ1Y3R1
cmUgcG9pbnQgKi8KCnR5cGVkZWYgc3RydWN0CnsKICBmbG9hdCB4OwogIGZsb2F0IHk7CiAgZmxv
YXQgejsKICBmbG9hdCByOwogIGZsb2F0IGc7CiAgZmxvYXQgYjsKfSBwb2ludDsKCnBvaW50IHBb
OF09ewogICAgey0wLjUsLTAuNSwgMC41LDEuMCwwLjAsMC4wfSwKICAgIHstMC41LCAwLjUsIDAu
NSwwLjAsMS4wLDAuMH0sCiAgICB7IDAuNSwgMC41LCAwLjUsMC4wLDAuMCwxLjB9LAogICAgeyAw
LjUsLTAuNSwgMC41LDEuMCwxLjAsMS4wfSwKICAgIHstMC41LC0wLjUsLTAuNSwxLjAsMC4wLDAu
MH0sCiAgICB7LTAuNSwgMC41LC0wLjUsMC4wLDEuMCwwLjB9LAogICAgeyAwLjUsIDAuNSwtMC41
LDAuMCwwLjAsMS4wfSwKICAgIHsgMC41LC0wLjUsLTAuNSwxLjAsMS4wLDEuMH19OwogIAppbnQg
Zls2XVs0XT17CiAgezAsMSwyLDN9LAogIHszLDIsNiw3fSwKICB7NCw1LDYsN30sCiAgezAsMSw1
LDR9LAogIHsxLDUsNiwyfSwKICB7MCw0LDcsM319OwoKY2hhciBwcmVzc2U7CmludCBhbmdsZXgs
YW5nbGV5LHgseSx4b2xkLHlvbGQ7CgovKiBQcm90b3R5cGUgZGVzIGZvbmN0aW9ucyAqLwp2b2lk
IGFmZmljaGFnZSgpOwp2b2lkIGNsYXZpZXIodW5zaWduZWQgY2hhciB0b3VjaGUsaW50IHgsaW50
IHkpOwp2b2lkIHJlc2hhcGUoaW50IHgsaW50IHkpOwp2b2lkIGlkbGUoKTsKdm9pZCBtb3VzZShp
bnQgYm91dG9uLGludCBldGF0LGludCB4LGludCB5KTsKdm9pZCBtb3VzZW1vdGlvbihpbnQgeCxp
bnQgeSk7CgppbnQgbWFpbihpbnQgYXJnYyxjaGFyICoqYXJndikKewogIC8qIGluaXRpYWxpc2F0
aW9uIGRlIGdsdXQgZXQgY3JlYXRpb24KICAgICBkZSBsYSBmZW5ldHJlICovCiAgZ2x1dEluaXQo
JmFyZ2MsYXJndik7CiAgZ2x1dEluaXREaXNwbGF5TW9kZShHTFVUX1JHQiB8IEdMVVRfRE9VQkxF
IHwgR0xVVF9ERVBUSCk7CiAgZ2x1dEluaXRXaW5kb3dQb3NpdGlvbigyMDAsMjAwKTsKICBnbHV0
SW5pdFdpbmRvd1NpemUoMjUwLDI1MCk7CiAgZ2x1dENyZWF0ZVdpbmRvdygiY3ViZSIpOwoKICAv
KiBJbml0aWFsaXNhdGlvbiBkJ09wZW5HTCAqLwogIGdsQ2xlYXJDb2xvcigwLjAsMC4wLDAuMCww
LjApOwogIGdsQ29sb3IzZigxLjAsMS4wLDEuMCk7CiAgZ2xQb2ludFNpemUoMi4wKTsKICBnbEVu
YWJsZShHTF9ERVBUSF9URVNUKTsKCiAgLyogZW5yZWdpc3RyZW1lbnQgZGVzIGZvbmN0aW9ucyBk
ZSByYXBwZWwgKi8KICBnbHV0RGlzcGxheUZ1bmMoYWZmaWNoYWdlKTsKICBnbHV0S2V5Ym9hcmRG
dW5jKGNsYXZpZXIpOwogIGdsdXRSZXNoYXBlRnVuYyhyZXNoYXBlKTsKICBnbHV0TW91c2VGdW5j
KG1vdXNlKTsKICBnbHV0TW90aW9uRnVuYyhtb3VzZW1vdGlvbik7CgogIC8qIEVudHJlZSBkYW5z
IGxhIGJvdWNsZSBwcmluY2lwYWxlIGdsdXQgKi8KICBnbHV0TWFpbkxvb3AoKTsKICByZXR1cm4g
MDsKfQoKdm9pZCBzaG93TWF0cml4KCkKewogIGRvdWJsZSBtYXRyaXhbMTZdOwogIGdsR2V0RG91
YmxldihHTF9NT0RFTFZJRVdfTUFUUklYLCBtYXRyaXgpOwogIHN0ZDo6Y291dCA8PCAiX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fIiA8PCBzdGQ6OmVuZGw7CiAgZm9yKGludCBpID0g
MCA7IGkgPCA0IDsgaSsrKQogIHsKICAgIHN0ZDo6Y291dCA8PCAifCI7CiAgICBmb3IoaW50IGog
PSAwIDsgaiA8IDQgOyBqKyspCiAgICAgICBzdGQ6OmNvdXQgPDwgbWF0cml4W2orNCppXSA8PCAi
XHR8IjsKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgIi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgPDwgc3RkOjplbmRsOwogIH0KfQoKdm9pZCBh
ZmZpY2hhZ2UoKQp7CiAgaW50IGksajsKICAvKiBlZmZhY2VtZW50IGRlIGwnaW1hZ2UgYXZlYyBs
YSBjb3VsZXVyIGRlIGZvbmQgKi8KICBnbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQgfCBHTF9E
RVBUSF9CVUZGRVJfQklUKTsKICAKICBnbE1hdHJpeE1vZGUoR0xfTU9ERUxWSUVXKTsKICBnbExv
YWRJZGVudGl0eSgpOwogIHNob3dNYXRyaXgoKTsKCiAgZ2xSb3RhdGVkKC1hbmdsZXksMS4wLDAu
MCwwLjApOwogIGdsUm90YXRlZCgtYW5nbGV4LDAuMCwxLjAsMC4wKTsKICBnbFNjYWxlZCgwLjI1
LCA0RTM4LCAwLjUpOwoKCgogIHNob3dNYXRyaXgoKTsKICAvKiBEZXNzaW4gZHUgY3ViZSAqLwog
IGZvciAoaT0wO2k8NjtpKyspCiAgICB7CiAgICAgIGdsQmVnaW4oR0xfUE9MWUdPTik7CiAgICAg
IGZvciAoaj0wO2o8NDtqKyspCgl7CgkgIGdsQ29sb3IzZihwW2ZbaV1bal1dLnIscFtmW2ldW2pd
XS5nLHBbZltpXVtqXV0uYik7CgkgIGdsVmVydGV4M2YocFtmW2ldW2pdXS54LHBbZltpXVtqXV0u
eSxwW2ZbaV1bal1dLnopOwoJfQogICAgICBnbEVuZCgpOwogICAgfQogIGdsRmx1c2goKTsKICAK
ICAvKiBPbiBlY2hhbmdlIGxlcyBidWZmZXJzICovCiAgZ2x1dFN3YXBCdWZmZXJzKCk7Cn0KCnZv
aWQgY2xhdmllcih1bnNpZ25lZCBjaGFyIHRvdWNoZSxpbnQgeCxpbnQgeSkKewogIHN3aXRjaCAo
dG91Y2hlKQogICAgewogICAgY2FzZSAncCc6IC8qIGFmZmljaGFnZSBkdSBjYXJyZSBwbGVpbiAq
LwogICAgICBnbFBvbHlnb25Nb2RlKEdMX0ZST05UX0FORF9CQUNLLEdMX0ZJTEwpOwogICAgICBn
bHV0UG9zdFJlZGlzcGxheSgpOwogICAgICBicmVhazsKICAgIGNhc2UgJ2YnOiAvKiBhZmZpY2hh
Z2UgZW4gbW9kZSBmaWwgZGUgZmVyICovCiAgICAgIGdsUG9seWdvbk1vZGUoR0xfRlJPTlRfQU5E
X0JBQ0ssR0xfTElORSk7CiAgICAgIGdsdXRQb3N0UmVkaXNwbGF5KCk7CiAgICAgIGJyZWFrOwog
ICAgY2FzZSAncycgOiAvKiBBZmZpY2hhZ2UgZW4gbW9kZSBzb21tZXRzIHNldWxzICovCiAgICAg
IGdsUG9seWdvbk1vZGUoR0xfRlJPTlRfQU5EX0JBQ0ssR0xfUE9JTlQpOwogICAgICBnbHV0UG9z
dFJlZGlzcGxheSgpOwogICAgICBicmVhazsKICAgIGNhc2UgJ2QnOgogICAgICBnbEVuYWJsZShH
TF9ERVBUSF9URVNUKTsKICAgICAgZ2x1dFBvc3RSZWRpc3BsYXkoKTsKICAgICAgYnJlYWs7CiAg
ICBjYXNlICdEJzoKICAgICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOwogICAgICBnbHV0UG9z
dFJlZGlzcGxheSgpOwogICAgICBicmVhazsKICAgIC8vY2FzZSAncScgOiAvKmxhIHRvdWNoZSAn
cScgcGVybWV0IGRlIHF1aXR0ZXIgbGUgcHJvZ3JhbW1lICovCiAgICAgIC8vZXhpdCgwKTsKICAg
IH0KfQoKdm9pZCByZXNoYXBlKGludCB4LGludCB5KQp7CiAgaWYgKHg8eSkKICAgIGdsVmlld3Bv
cnQoMCwoeS14KS8yLHgseCk7CiAgZWxzZSAKICAgIGdsVmlld3BvcnQoKHgteSkvMiwwLHkseSk7
Cn0KCnZvaWQgbW91c2UoaW50IGJ1dHRvbiwgaW50IHN0YXRlLGludCB4LGludCB5KQp7CiAgLyog
c2kgb24gYXBwdWllIHN1ciBsZSBib3V0b24gZ2F1Y2hlICovCiAgaWYgKGJ1dHRvbiA9PSBHTFVU
X0xFRlRfQlVUVE9OICYmIHN0YXRlID09IEdMVVRfRE9XTikgCiAgewogICAgcHJlc3NlID0gMTsg
LyogbGUgYm9vbGVlbiBwcmVzc2UgcGFzc2UgYSAxICh2cmFpKSAqLwogICAgeG9sZCA9IHg7IC8q
IG9uIHNhdXZlZ2FyZGUgbGEgcG9zaXRpb24gZGUgbGEgc291cmlzICovCiAgICB5b2xkPXk7CiAg
fQogIC8qIHNpIG9uIHJlbGFjaGUgbGUgYm91dG9uIGdhdWNoZSAqLwogIGlmIChidXR0b24gPT0g
R0xVVF9MRUZUX0JVVFRPTiAmJiBzdGF0ZSA9PSBHTFVUX1VQKSAKICAgIHByZXNzZT0wOyAvKiBs
ZSBib29sZWVuIHByZXNzZSBwYXNzZSBhIDAgKGZhdXgpICovCn0KCnZvaWQgbW91c2Vtb3Rpb24o
aW50IHgsaW50IHkpCiAgewogICAgaWYgKHByZXNzZSkgLyogc2kgbGUgYm91dG9uIGdhdWNoZSBl
c3QgcHJlc3NlICovCiAgICB7CiAgICAgIC8qIG9uIG1vZGlmaWUgbGVzIGFuZ2xlcyBkZSByb3Rh
dGlvbiBkZSBsJ29iamV0CgkgZW4gZm9uY3Rpb24gZGUgbGEgcG9zaXRpb24gYWN0dWVsbGUgZGUg
bGEgc291cmlzIGV0IGRlIGxhIGRlcm5pZXJlCgkgcG9zaXRpb24gc2F1dmVnYXJkZWUgKi8KICAg
ICAgYW5nbGV4PWFuZ2xleCsoeC14b2xkKTsgCiAgICAgIGFuZ2xleT1hbmdsZXkrKHkteW9sZCk7
CiAgICAgIGdsdXRQb3N0UmVkaXNwbGF5KCk7IC8qIG9uIGRlbWFuZGUgdW4gcmFmcmFpY2hpc3Nl
bWVudCBkZSBsJ2FmZmljaGFnZSAqLwogICAgfQogICAgCiAgICB4b2xkPXg7IC8qIHNhdXZlZ2Fy
ZGUgZGVzIHZhbGV1cnMgY291cmFudGUgZGUgbGUgcG9zaXRpb24gZGUgbGEgc291cmlzICovCiAg
ICB5b2xkPXk7CiAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>