Normand Briere
2018-12-15 6ed65dcb597fb2153cef75bf1845978f1115658c
CameraPane.java
....@@ -2000,10 +2000,12 @@
20002000 */
20012001 TextureData ReduceTexture(TextureData texturedata, int resolution) // String name)
20022002 {
2003
+ int pixelformat = texturedata.getPixelFormat();
2004
+
20032005 int stride = 1;
2004
- if (texturedata.getPixelFormat() == GetGL().GL_RGB || texturedata.getPixelFormat() == GetGL().GL_BGR) // || texturedata.getPixelFormat() == GL.GL_LUMINANCE)
2006
+ if (pixelformat == GetGL().GL_RGB || pixelformat == GetGL().GL_BGR) // || texturedata.getPixelFormat() == GL.GL_LUMINANCE)
20052007 stride = 3;
2006
- if (texturedata.getPixelFormat() == GetGL().GL_RGBA || texturedata.getPixelFormat() == GetGL().GL_BGRA) // || texturedata.getPixelFormat() == GL.GL_LUMINANCE_ALPHA)
2008
+ if (pixelformat == GetGL().GL_RGBA || pixelformat == GetGL().GL_BGRA) // || texturedata.getPixelFormat() == GL.GL_LUMINANCE_ALPHA)
20072009 stride = 4;
20082010
20092011 int width = texturedata.getWidth();
....@@ -7442,6 +7444,8 @@
74427444 //gl.glFrustum(-0.5*scale, 0.5*scale, -0.5*scale, 0.5*scale, 1, 100);
74437445 //glu.gluPerspective(lightshaper_fovy, 1, lightshaper_zNear, lightshaper_zFar);
74447446 double scale = lightCamera.SCALE / lightCamera.Distance();
7447
+// PATCH FILLE AUX JEANS
7448
+ //scale *= lightCamera.shaper_fovy / 25;
74457449 gl.glScaled(2 * scale, 2 * scale, -scale);
74467450 gl.glTranslated(0, 0, lightCamera.DECAL);
74477451
....@@ -7590,7 +7594,8 @@
75907594
75917595 float[] options1 = new float[]{1000, 0.00001f, 20, 0, 0}; // focus, aperture, Shadow blur, aniso, anisoV
75927596 float[] options2 = new float[]{0, 1, 0, 0}; // fog density, intensity, elevation
7593
- float[] options3 = new float[]{1, 1, 1, 1}; // fog color. image intensity
7597
+ float[] options3 = new float[]{1, 1, 1, 0}; // fog color
7598
+ float[] options4 = new float[]{1, 0, 1, 0}; // image intensity, subsurface, lightsheen
75947599
75957600 static int imagecount = 0; // movie generation
75967601
....@@ -7690,7 +7695,7 @@
76907695
76917696 if (renderCamera != lightCamera)
76927697 for (int count = parentcam.GetTransformCount(); --count>=0;)
7693
- LA.matConcat(parentcam.toParent, matrix, matrix);
7698
+ LA.matConcat(matrix, parentcam.toParent, matrix);
76947699
76957700 // LA.matConcat(renderCamera.toScreen, renderCamera.toParent, matrix);
76967701
....@@ -7706,7 +7711,7 @@
77067711
77077712 if (renderCamera != lightCamera)
77087713 for (int count = parentcam.GetTransformCount(); --count>=0;)
7709
- LA.matConcat(matrix, parentcam.fromParent, matrix);
7714
+ LA.matConcat(parentcam.fromParent, matrix, matrix);
77107715
77117716 // LA.matConcat(renderCamera.fromParent, renderCamera.fromScreen, matrix);
77127717
....@@ -7923,7 +7928,7 @@
79237928
79247929 if (!BOXMODE)
79257930 {
7926
- System.out.println("image: " + fullname + " (" + (GrafreeD.wav.cursor / 735 / 4) + ")");
7931
+ System.out.println("image: " + fullname + " (wav cursor=" + (GrafreeD.wav.cursor / 735 / 4) + ")");
79277932 }
79287933
79297934 if (!BOXMODE)
....@@ -8784,7 +8789,7 @@
87848789 if (!IsFrozen())
87858790 {
87868791 // dec 2012
8787
- if (!(!flash && !lightMode && drawMode == DEFAULT && ANTIALIAS > 0))
8792
+ if (!ambientOcclusion && !(!flash && !lightMode && drawMode == DEFAULT && ANTIALIAS > 0))
87888793 {
87898794 framecount++;
87908795 shadowbuffer.display();
....@@ -8912,7 +8917,7 @@
89128917 // if (parentcam != renderCamera) // not a light
89138918 if (cam != lightCamera)
89148919 for (int count = parentcam.GetTransformCount(); --count>=0;)
8915
- LA.matConcat(parentcam.toParent, matrix, matrix);
8920
+ LA.matConcat(matrix, parentcam.toParent, matrix);
89168921
89178922 for (int j = 0; j < 4; j++)
89188923 {
....@@ -8927,7 +8932,7 @@
89278932 // if (parentcam != renderCamera) // not a light
89288933 if (cam != lightCamera)
89298934 for (int count = parentcam.GetTransformCount(); --count>=0;)
8930
- LA.matConcat(matrix, parentcam.fromParent, matrix);
8935
+ LA.matConcat(parentcam.fromParent, matrix, matrix);
89318936
89328937 //LA.matConcat(cam.fromScreen, parentcam.fromParent, matrix);
89338938
....@@ -9089,6 +9094,8 @@
90899094 //gl.glFrustum(-0.5*scale, 0.5*scale, -0.5*scale, 0.5*scale, 1, 100);
90909095 //glu.gluPerspective(lightshaper_fovy, 1, lightshaper_zNear, lightshaper_zFar);
90919096 double scale = lightCamera.SCALE / lightCamera.Distance();
9097
+// PATCH FILLE AUX JEANS
9098
+ //scale *= lightCamera.shaper_fovy / 25;
90929099 gl.glScaled(2 * scale, 2 * scale, -scale);
90939100 gl.glTranslated(0, 0, lightCamera.DECAL);
90949101
....@@ -9228,6 +9235,8 @@
92289235 {
92299236 //glu.gluPerspective(lightshaper_fovy, 1, lightshaper_zNear, lightshaper_zFar);
92309237 double scale = lightCamera.SCALE / lightCamera.Distance();
9238
+// PATCH FILLE AUX JEANS
9239
+ //scale *= lightCamera.shaper_fovy / 25;
92319240 gl.glScaled(2 * scale, 2 * scale, -scale);
92329241 gl.glTranslated(0, 0, lightCamera.DECAL);
92339242 //System.out.println("DECAL = " + LIGHTDECAL + "; SCALE = " + LIGHTSCALE);
....@@ -9379,6 +9388,7 @@
93799388
93809389 gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 63, options2, 0);
93819390 gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 62, options3, 0);
9391
+ gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 61, options4, 0);
93829392
93839393 options2[0] *= renderCamera.Distance();
93849394
....@@ -9750,40 +9760,40 @@
97509760 selectedpoint.radius = radius;
97519761 selectedpoint.recalculate();
97529762 selectedpoint.material = new cMaterial();
9753
- selectedpoint.material.color = 0.25f;
9763
+ selectedpoint.material.color = 0.15f; // Yellow
97549764 selectedpoint.material.modulation = 0.75f;
97559765
9756
- debugpoint.radius = radius;
9757
- debugpoint.recalculate();
9758
- debugpoint.material = new cMaterial();
9759
- debugpoint.material.color = 0.25f;
9760
- debugpoint.material.modulation = 0.75f;
9766
+ debugpointG.radius = radius;
9767
+ debugpointG.recalculate();
9768
+ debugpointG.material = new cMaterial();
9769
+ debugpointG.material.color = 0.25f; // Green
9770
+ debugpointG.material.modulation = 0.75f;
97619771
9762
- debugpoint2.radius = radius;
9763
- debugpoint2.recalculate();
9764
- debugpoint2.material = new cMaterial();
9765
- debugpoint2.material.color = 0.75f;
9766
- debugpoint2.material.modulation = 0.75f;
9772
+ debugpointP.radius = radius;
9773
+ debugpointP.recalculate();
9774
+ debugpointP.material = new cMaterial();
9775
+ debugpointP.material.color = 0.75f; // Purple
9776
+ debugpointP.material.modulation = 0.75f;
97679777
9768
- debugpoint3.radius = radius;
9769
- debugpoint3.recalculate();
9770
- debugpoint3.material = new cMaterial();
9771
- debugpoint3.material.color = 0.5f;
9772
- debugpoint3.material.modulation = 0.75f;
9778
+ debugpointC.radius = radius;
9779
+ debugpointC.recalculate();
9780
+ debugpointC.material = new cMaterial();
9781
+ debugpointC.material.color = 0.5f; // Cyan
9782
+ debugpointC.material.modulation = 0.75f;
97739783
9774
- debugpoint4.radius = radius;
9775
- debugpoint4.recalculate();
9776
- debugpoint4.material = new cMaterial();
9777
- debugpoint4.material.color = 0f;
9778
- debugpoint4.material.modulation = 0.75f;
9784
+ debugpointR.radius = radius;
9785
+ debugpointR.recalculate();
9786
+ debugpointR.material = new cMaterial();
9787
+ debugpointR.material.color = 0f; // Red
9788
+ debugpointR.material.modulation = 0.75f;
97799789
97809790 InitPoints(radius);
97819791 }
97829792 selectedpoint.draw(this, /*(Composite)*/ null, false, false);
9783
- debugpoint.draw(this, /*(Composite)*/ null, false,false);
9784
- debugpoint2.draw(this, /*(Composite)*/ null, false,false);
9785
- debugpoint3.draw(this, /*(Composite)*/ null, false,false);
9786
- debugpoint4.draw(this, /*(Composite)*/ null, false,false);
9793
+ debugpointG.draw(this, /*(Composite)*/ null, false,false);
9794
+ debugpointP.draw(this, /*(Composite)*/ null, false,false);
9795
+ debugpointC.draw(this, /*(Composite)*/ null, false,false);
9796
+ debugpointR.draw(this, /*(Composite)*/ null, false,false);
97879797 // DrawPoints(this);
97889798 }
97899799
....@@ -9821,12 +9831,14 @@
98219831
98229832 if (checker != null && drawMode == DEFAULT)
98239833 {
9824
- // BindTexture(IMMORTAL_TEXTURE);
9834
+ //BindTexture(IMMORTAL_TEXTURE);
9835
+ BindTextures(checker.GetTextures(), checker.texres);
98259836 // NEAREST
98269837 GetGL().glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST); // GL.GL_LINEAR);
98279838 DrawChecker(gl);
98289839 //checker.Draw(this, null, false);
98299840 // ReleaseTexture(IMMORTAL_TEXTURE);
9841
+ ReleaseTextures(checker.GetTextures());
98309842 }
98319843
98329844 if (object.parent != null)
....@@ -10357,11 +10369,13 @@
1035710369 "PARAM params6 = program.env[6];" + // bump, noise, borderfade, fog punchthrough
1035810370 "PARAM params7 = program.env[7];" + // noise power, opacity power
1035910371 "PARAM options0 = program.env[63];" + // fog density, intensity, elevation
10360
- "PARAM options1 = program.env[62];" + // fog rgb color, image intensity
10372
+ "PARAM options1 = program.env[62];" + // fog rgb color
10373
+ "PARAM options2 = program.env[61];" + // image intensity, subsurface, lightsheen
1036110374 "PARAM pointlight = program.env[127];" + // ...
1036210375 "PARAM zero = { 0.0, 0.0, 0.0, 0.0 };" +
1036310376 "PARAM halfhalf = { 0.25, 0.25, 0.25, 1.0 };" +
1036410377 "PARAM half = { 0.5, 0.5, 0.5, 1.0 };" +
10378
+ "PARAM threequarter = { 0.75, 0.75, 0.75, 1.0 };" +
1036510379 "PARAM two = { 2.0, 2.0, 2.0, 1.0 };" +
1036610380 "PARAM ten = { 10, 10, 10, 1.0 };" +
1036710381 "PARAM one3rd = { 0.5, 0.33333333333, 0.333333333, 1.0 };" +
....@@ -10382,6 +10396,7 @@
1038210396 "PARAM lodbias = { 10,10,10,10 };" + // 20, -2, -20, 1.0 };" +
1038310397 "PARAM infinity = { 100000000, 100000000, 100000000, 1.0 };" +
1038410398 "PARAM one2048th = { 0.00048828125, 0.00048828125, 0.00048828125, 1.0 };" +
10399
+ "PARAM ninetenth = { 0.9, 0.9, 0.9, 1.0 };" +
1038510400 "PARAM almostone = { 0.999, 0.999, 0.999, 1.0 };" +
1038610401 "PARAM c256 = { 256, 256, 256, 1.0 };" +
1038710402 "PARAM c256i = { 0.00390625, 0.00390625, 0.00390625, 1.0 };" +
....@@ -10422,6 +10437,10 @@
1042210437 "TEMP R1;" +
1042310438 "TEMP R2;" +
1042410439 "TEMP R3;" +
10440
+ "TEMP min;" +
10441
+ "TEMP max;" +
10442
+ "TEMP average;" +
10443
+ "TEMP saturation;" +
1042510444 "TEMP keep1;" +
1042610445 "TEMP keep2;" +
1042710446 "TEMP keep3;" +
....@@ -10952,10 +10971,40 @@
1095210971
1095310972 // skin?
1095410973 // Saturation for skin
10955
- /**/ // c'est ici
10956
- (Skinshader? "DP3 temp.x, final,one;" +
10974
+ /**/
10975
+ (Skinshader?
10976
+ "DP3 average.x, final,one;" +
10977
+ "MUL average, one3rd.xxxx,average.xxxx;" +
10978
+
10979
+ "MIN min.x, final.x,final.y;" +
10980
+ "MIN min.x, min.x,final.z;" +
10981
+
10982
+ "MAX max.x, final.x,final.y;" +
10983
+ "MAX max.x, max.x,final.z;" +
10984
+ "MOV max, max.xxxx;" +
10985
+
10986
+ "SUB saturation, max, final;" +
10987
+
10988
+ "ADD temp.x, max.x, one10th.x;" +
10989
+ "RCP temp.x, temp.x;" +
10990
+ "MUL temp.x, temp.x, half.x;" +
10991
+ "MUL saturation, saturation, temp.xxxx;" +
10992
+
10993
+ "DP3 ndotl.x, normald, light;" +
10994
+ "MAX ndotl.x, ndotl.x, -ndotl.x;" +
10995
+
10996
+ "SUB temp.x, one.x, ndotl.x;" +
10997
+ "ADD temp.x, temp.x, options2.z;" + // lightsheen
10998
+ "ADD temp.y, one.y, options2.y;" + // sursurface
10999
+ "MUL temp.x, temp.x, temp.y;" +
11000
+
11001
+ "MUL saturation, saturation, temp.xxxx;" +
11002
+ "SUB_SAT temp, max, saturation;" +
11003
+/**
11004
+ "DP3 temp.x, final,one;" +
1095711005 "MUL R2, one3rd.xxxx,temp.xxxx;" +
10958
- "SUB temp, final,R2;" +
11006
+ "SUB temp, final, R2;" +
11007
+
1095911008 // using light angle
1096011009 "DP3 ndotl.x, normald,light;" +
1096111010 //"SLT ndotl.y, ndotl.x, zero.x;" +
....@@ -10968,7 +11017,6 @@
1096811017 // using light intensity
1096911018 "MOV ndotl.z, R2.x;" +
1097011019 "MUL ndotl.z, ndotl.z, ndotl.z;" + // tuning...
10971
-
1097211020 // june 2014
1097311021 "MAD R1.x, ndotl.z,slope.y,one.x;" +
1097411022 // "SUB ndotl.x, one.x, ndotl.x;" +
....@@ -10980,6 +11028,7 @@
1098011028 //"MUL R2.y, shadow.x,R2.y;" + // avril 2014
1098111029
1098211030 "MAD temp.x, R2.y, ndotl.y, temp.x;" + // red shift (skin)
11031
+/**/
1098311032
1098411033 // "ADD final, R2,temp;" +
1098511034 "MOV final, temp;"
....@@ -11069,7 +11118,7 @@
1106911118 /**/
1107011119 // HDR
1107111120 "MOV temp.z, final.a;" +
11072
- "MUL final, final,options1.w;" +
11121
+ "MUL final, final,options2.x;" +
1107311122 "MOV final.a, temp.z;" +
1107411123 /**/
1107511124
....@@ -11262,6 +11311,7 @@
1126211311 String Shadow(String depth, String shadow)
1126311312 {
1126411313 return "MAX temp.x, ndotl.x, one64th.x;" +
11314
+ "MIN temp.x, temp.x, ninetenth.x;" +
1126511315 /**/
1126611316 // Sine
1126711317 "MUL temp.y, temp.x, temp.x;" +
....@@ -12814,7 +12864,9 @@
1281412864 {
1281512865 mouseMode |= ZOOM;
1281612866 }
12817
- if ((modifiers & META) == META)
12867
+
12868
+ boolean capsLocked = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK);
12869
+ if (capsLocked || (modifiers & META) == META)
1281812870 {
1281912871 mouseMode |= VR; // BACKFORTH;
1282012872 }
....@@ -12828,6 +12880,7 @@
1282812880 }
1282912881 if ((modifiers & SHIFT) == SHIFT || forcetranslate)
1283012882 {
12883
+ mouseMode &= ~VR;
1283112884 mouseMode |= TRANSLATE;
1283212885 }
1283312886 // if ((modifiers & SHIFT_META) == SHIFT_META)
....@@ -13217,7 +13270,8 @@
1321713270 FlipTransform();
1321813271 break;
1321913272 case ENTER:
13220
- object.editWindow.ScreenFit(); // Edit();
13273
+ // object.editWindow.ScreenFit(); // Edit();
13274
+ ToggleLive();
1322113275 break;
1322213276 case DELETE:
1322313277 ClearSelection();
....@@ -14394,7 +14448,7 @@
1439414448 gl.glPushAttrib(GL.GL_ALL_ATTRIB_BITS);
1439514449 gl.glPushMatrix();
1439614450 gl.glLoadIdentity();
14397
- PushMatrix(checker.toParent);
14451
+ //PushMatrix(checker.toParent);
1439814452
1439914453 gl.glMatrixMode(GL.GL_TEXTURE);
1440014454 gl.glPushMatrix();
....@@ -14417,8 +14471,8 @@
1441714471
1441814472 gl.glNormal3f(0.0f, 0.0f, 1.0f);
1441914473
14420
- float step = 0.1666f; //0.25f;
14421
- float stepv = step * 1652 / 998;
14474
+ float step = 2; // 0.1666f; //0.25f;
14475
+ float stepv = 2; // step * 1652 / 998;
1442214476
1442314477 int i0 = 0;
1442414478 /*
....@@ -14488,15 +14542,27 @@
1448814542
1448914543 //float u = (i+1)/2;
1449014544 //float v = (j+1)/2;
14491
- gl.glTexCoord2f((i + 1) / 2, (j + 1) / 2); // (1,0) // (i+1+step)/2,(j+1)/2);
14545
+ if (checker.flipV)
14546
+ gl.glTexCoord2f((i + 1) / 2, 1 - (j + 1) / 2);
14547
+ else
14548
+ gl.glTexCoord2f((i + 1) / 2, (j + 1) / 2); // (1,0) // (i+1+step)/2,(j+1)/2);
1449214549 gl.glVertex3f(i, j, -0.5f);
1449314550
14551
+ if (checker.flipV)
14552
+ gl.glTexCoord2f((i + 1 + step) / 2, 1 - (j + 1) / 2); // (1,1) // (i+1+step)/2,(j+1+step)/2);
14553
+ else
1449414554 gl.glTexCoord2f((i + 1 + step) / 2, (j + 1) / 2); // (1,1) // (i+1+step)/2,(j+1+step)/2);
1449514555 gl.glVertex3f(i + step, j, -0.5f);
1449614556
14557
+ if (checker.flipV)
14558
+ gl.glTexCoord2f((i + 1 + step) / 2, 1 - (j + 1 + stepv) / 2); // (0,1) //(i+1)/2,(j+1+step)/2);
14559
+ else
1449714560 gl.glTexCoord2f((i + 1 + step) / 2, (j + 1 + stepv) / 2); // (0,1) //(i+1)/2,(j+1+step)/2);
1449814561 gl.glVertex3f(i + step, j + stepv, -0.5f);
1449914562
14563
+ if (checker.flipV)
14564
+ gl.glTexCoord2f((i + 1) / 2, 1 - (j + 1 + stepv) / 2); // (0,0) //(i+1)/2,(j+1)/2);
14565
+ else
1450014566 gl.glTexCoord2f((i + 1) / 2, (j + 1 + stepv) / 2); // (0,0) //(i+1)/2,(j+1)/2);
1450114567 gl.glVertex3f(i, j + stepv, -0.5f);
1450214568 }
....@@ -14508,7 +14574,7 @@
1450814574 gl.glMatrixMode(GL.GL_PROJECTION);
1450914575 gl.glPopMatrix();
1451014576 gl.glMatrixMode(GL.GL_MODELVIEW);
14511
- PopMatrix(null); // checker.toParent); // null);
14577
+ //PopMatrix(null); // checker.toParent); // null);
1451214578 gl.glPopMatrix();
1451314579 PopTextureMatrix(checker.toParent);
1451414580 gl.glMatrixMode(GL.GL_TEXTURE);
....@@ -14677,6 +14743,11 @@
1467714743 // System.err.println("view = " + view[4] + " " + view[5] + " " + view[6] + " " + view[7]);
1467814744 // System.err.println("view = " + view[8] + " " + view[9] + " " + view[10] + " " + view[11]);
1467914745 // System.err.println("view = " + view[12] + " " + view[13] + " " + view[14] + " " + view[15]);
14746
+
14747
+ // Will fit the mesh !!!
14748
+ selectedpoint.toParent[0][0] = 0.0001;
14749
+ selectedpoint.toParent[1][1] = 0.0001;
14750
+ selectedpoint.toParent[2][2] = 0.0001;
1468014751
1468114752 glu.gluUnProject(x,y,depth,view,0,tempmat2,0,viewport,0,selectedpoint.toParent[3],0);
1468214753
....@@ -15066,13 +15137,19 @@
1506615137 gl.glFlush();
1506715138
1506815139 /**/
15069
- gl.glReadPixels(0, 0, OCCLUSION_SIZE, OCCLUSION_SIZE, GL.GL_BGRA, GL.GL_UNSIGNED_INT_8_8_8_8_REV, occlusionsizebuffer);
15140
+ gl.glReadPixels(0, 0, OCCLUSION_SIZE, OCCLUSION_SIZE, GL.GL_DEPTH_COMPONENT, GL.GL_FLOAT, occlusionsizebuffer);
1507015141
15071
- int[] pixels = occlusionsizebuffer.array();
15142
+ float[] pixels = occlusionsizebuffer.array();
1507215143
1507315144 double r = 0, g = 0, b = 0;
1507415145
1507515146 double count = 0;
15147
+
15148
+ gl.glGetDoublev(gl.GL_PROJECTION_MATRIX, tempmat2, 0);
15149
+
15150
+ float mindepth = 1;
15151
+
15152
+ double FACTOR = 1;
1507615153
1507715154 for (int i = 0; i < pixels.length; i++)
1507815155 {
....@@ -15157,7 +15234,7 @@
1515715234
1515815235 double scale = ray.z; // 1; // cos
1515915236
15160
- int p = pixels[newindex];
15237
+ float depth = pixels[newindex];
1516115238
1516215239 /*
1516315240 int newindex2 = (x + 1) * OCCLUSION_SIZE + y;
....@@ -15181,10 +15258,23 @@
1518115258 scale = (1 - modu) * modv;
1518215259 */
1518315260
15184
- r += ((p >> 16) & 0xFF) * scale / 255;
15185
- g += ((p >> 8) & 0xFF) * scale / 255;
15186
- b += (p & 0xFF) * scale / 255;
15261
+ //r += ((p >> 16) & 0xFF) * scale / 255;
15262
+ //g += ((p >> 8) & 0xFF) * scale / 255;
15263
+ //b += (p & 0xFF) * scale / 255;
15264
+
15265
+ if (mindepth > depth)
15266
+ {
15267
+ mindepth = depth;
15268
+ }
1518715269
15270
+ double z_eye = tempmat2[3*4 + 2] / (depth * -2.0 + 1.0 - tempmat2[2*4 + 2]);
15271
+
15272
+ double factor = 1 - Math.exp(-z_eye * z_eye / FACTOR);
15273
+
15274
+ r += factor * scale;
15275
+ g += factor * scale;
15276
+ b += factor * scale;
15277
+
1518815278 count += scale;
1518915279 }
1519015280
....@@ -15300,12 +15390,12 @@
1530015390 int AAbuffersize = 0;
1530115391
1530215392 //double[] selectedpoint = new double[3];
15303
- static Sphere selectedpoint = new Sphere();
15393
+ static Superellipsoid selectedpoint = new Superellipsoid();
1530415394 static Sphere previousselectedpoint = null;
15305
- static Sphere debugpoint = new Sphere();
15306
- static Sphere debugpoint2 = new Sphere();
15307
- static Sphere debugpoint3 = new Sphere();
15308
- static Sphere debugpoint4 = new Sphere();
15395
+ static Sphere debugpointG = new Sphere();
15396
+ static Sphere debugpointP = new Sphere();
15397
+ static Sphere debugpointC = new Sphere();
15398
+ static Sphere debugpointR = new Sphere();
1530915399
1531015400 static Sphere debugpoints[] = new Sphere[8];
1531115401
....@@ -15358,7 +15448,8 @@
1535815448 static IntBuffer texturesizebuffer = IntBuffer.allocate(TEX_SIZE * TEX_SIZE);
1535915449 static IntBuffer selectsizebuffer = IntBuffer.allocate(SELECT_SIZE * SELECT_SIZE);
1536015450 static java.nio.FloatBuffer pointselectsizebuffer = java.nio.FloatBuffer.allocate(SELECT_SIZE * SELECT_SIZE);
15361
- static IntBuffer occlusionsizebuffer = IntBuffer.allocate(OCCLUSION_SIZE * OCCLUSION_SIZE);
15451
+ //static IntBuffer occlusionsizebuffer = IntBuffer.allocate(OCCLUSION_SIZE * OCCLUSION_SIZE);
15452
+ static java.nio.FloatBuffer occlusionsizebuffer = java.nio.FloatBuffer.allocate(OCCLUSION_SIZE * OCCLUSION_SIZE);
1536215453 static BufferedImage bufimage = new BufferedImage(TEX_SIZE, TEX_SIZE, BufferedImage.TYPE_INT_RGB);
1536315454 static BufferedImage textest = new cBufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
1536415455 static java.util.Vector<BufferedImage> billboards = new java.util.Vector<BufferedImage>();