Normand Briere
2019-08-23 60cec91731a350fe67e9b5ffe7a00d70e9026314
Min shader.
7 files modified
97 ■■■■■ changed files
Camera.java 10 ●●●●● patch | view | raw | blame | history
CameraPane.java 36 ●●●●● patch | view | raw | blame | history
Checker.java 2 ●●● patch | view | raw | blame | history
GroupEditor.java 24 ●●●● patch | view | raw | blame | history
ObjEditor.java 2 ●●● patch | view | raw | blame | history
Object3D.java 19 ●●●●● patch | view | raw | blame | history
cMaterial.java 4 ●●●● patch | view | raw | blame | history
Camera.java
....@@ -71,7 +71,7 @@
7171 perspective = false;
7272 break;
7373 case 4: // Default light
74
- location = LA.newVector(-5, 20, 10);
74
+ location = LA.newVector(-5, 15, 10);
7575 perspective = false;
7676 break;
7777 }
....@@ -106,6 +106,14 @@
106106 background = LA.newVector(0.8, 0.8, 0.8);
107107 }
108108
109
+ void CreateMaterial(boolean multiply)
110
+ {
111
+ super.CreateMaterial(multiply);
112
+
113
+ material.shift = 90;
114
+ material.cameralight = 0.2f;
115
+ }
116
+
109117 void setAspect(int width, int height)
110118 {
111119 //hAspect = width;
CameraPane.java
....@@ -881,7 +881,7 @@
881881 //// tris.postdraw(this);
882882 }
883883
884
- static Camera localcamera = new Camera();
884
+ static Camera localAOcamera = new Camera();
885885 static cVector from = new cVector();
886886 static cVector to = new cVector();
887887
....@@ -890,7 +890,7 @@
890890 CameraPane cp = this;
891891
892892 Camera keep = cp.RenderCamera();
893
- cp.renderCamera = localcamera;
893
+ cp.renderCamera = localAOcamera;
894894
895895 if (br.trimmed)
896896 {
....@@ -908,7 +908,7 @@
908908 br.positions[i3 + 2] + br.normals[i3 + 2]);
909909 LA.xformPos(from, transform, from);
910910 LA.xformPos(to, transform, to); // RIGID ONLY
911
- localcamera.setAim(from, to);
911
+ localAOcamera.setAim(from, to);
912912
913913 CameraPane.occlusionbuffer.display();
914914
....@@ -942,7 +942,7 @@
942942 to.set(v.x+v.norm.x, v.y+v.norm.y, v.z+v.norm.z);
943943 LA.xformPos(from, transform, from);
944944 LA.xformPos(to, transform, to); // RIGID ONLY
945
- localcamera.setAim(from, to);
945
+ localAOcamera.setAim(from, to);
946946
947947 CameraPane.occlusionbuffer.display();
948948
....@@ -12514,8 +12514,9 @@
1251412514 String programmin =
1251512515 // Min shader
1251612516 "!!ARBfp1.0\n" +
12517
- "PARAM zero123 = { 0.0, 1.0, 2, 1.25 };" +
12518
- "PARAM pow2 = { 0.5, 0.25, 0.125, 0.0 };" +
12517
+ "PARAM zero12t = { 0.0, 1.0, 2, 1.25 };" +
12518
+ "PARAM pow_2 = { 0.5, 0.25, 0.125, 0.0 };" +
12519
+ "PARAM pow2 = { 2, 4, 8, 0.0 };" +
1251912520 "PARAM one = { 1.0, 1.0, 1.0, 1.0 };" +
1252012521 "PARAM eps = { 0.001, 0.001, 0.001, 1.0 };" +
1252112522 "PARAM infinity = { 100000000, 100000000, 100000000, 1.0 };" +
....@@ -12530,10 +12531,11 @@
1253012531 "TEMP eye;" +
1253112532 "TEMP pos;" +
1253212533
12533
- "MAD normal, fragment.color, zero123.z, -zero123.y;" +
12534
+ "MAD normal, fragment.color, zero12t.z, -zero12t.y;" +
1253412535 Normalize("normal") +
1253512536 "MOV light, state.light[0].position;" +
1253612537 "DP3 ndotl.x, light, normal;" +
12538
+ "MAX ndotl.x, ndotl.x, zero12t.x;" +
1253712539
1253812540 // shadow
1253912541 "MOV pos, fragment.texcoord[1];" +
....@@ -12549,7 +12551,7 @@
1254912551 "MUL ndotl.x, ndotl.x, ndotl.z;" + // Shadow
1255012552
1255112553 // Backlit
12552
- "MOV pos.w, zero123.y;" +
12554
+ "MOV pos.w, zero12t.y;" + // one
1255312555 "DP4 eye.x, pos, light2cam0;" +
1255412556 "DP4 eye.y, pos, light2cam1;" +
1255512557 "DP4 eye.z, pos, light2cam2;" +
....@@ -12557,24 +12559,28 @@
1255712559
1255812560 "DP3 ndotl.y, -eye, normal;" +
1255912561 //"MUL ndotl.y, ndotl.y, pow2.x;" +
12560
- "POW ndotl.y, ndotl.y, pow2.z;" + // backlit
12561
- "SUB ndotl.y, zero123.y, ndotl.y;" +
12562
+ "POW ndotl.y, ndotl.y, pow2.x;" + // backlit
12563
+ "SUB ndotl.y, zero12t.y, ndotl.y;" + // 1 - y
12564
+ //"POW ndotl.y, ndotl.y, pow2.z;" + // backlit
1256212565 //"SUB ndotl.y, zero123.y, ndotl.y;" +
1256312566 //"MUL ndotl.y, ndotl.y, pow2.z;" +
12567
+ "ADD ndotl.y, ndotl.y, one.x;" +
12568
+ "MUL ndotl.y, ndotl.y, pow_2.x;" +
1256412569
1256512570 //"MAX ndotl.x, ndotl.x, ndotl.y;" + // Ambient
1256612571 //"MAX ndotl.x, ndotl.x, pow2.y;" + // Ambient
1256712572
1256812573 // Pigment
1256912574 "TEX temp, fragment.texcoord[0], texture[0], 2D;" +
12570
- "LRP temp, zero123.w, temp, one;" + // texture proportion
12571
- "MUL temp, temp, ndotl.x;" +
12572
-
12573
- "MUL temp, temp, zero123.z;" +
12575
+ "LRP temp, zero12t.w, temp, one;" + // texture proportion
12576
+ "MUL temp, temp, zero12t.w;" + // Times x
1257412577
1257512578 //"MUL temp, temp, ndotl.y;" +
12579
+ "MAD ndotl.x, pow_2.xxxx, ndotl.yyyy, ndotl.x;" +
1257612580
12577
- "MOV temp.w, zero123.y;" + // reset alpha
12581
+ "MUL temp, temp, ndotl.x;" + // lambert
12582
+
12583
+ "MOV temp.w, zero12t.y;" + // reset alpha
1257812584 "MOV result.color, temp;" +
1257912585 "END";
1258012586
Checker.java
....@@ -15,7 +15,7 @@
1515 material.specular = 0.001f;
1616 material.diffuse = 0.01f;
1717 material.cameralight = 0.001f;
18
- material.opacity = 0.5f;
18
+ material.opacity = 0.25f;
1919
2020 flipV = true;
2121 }
GroupEditor.java
....@@ -2129,24 +2129,24 @@
21292129 switch(axis)
21302130 {
21312131 case 0 :
2132
- vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z;
2133
- vert2.x = minima.x; vert2.y = maxima.y; vert2.z = minima.z;
2134
- vert3.x = minima.x; vert3.y = minima.y; vert3.z = maxima.z;
2135
- vert4.x = minima.x; vert4.y = maxima.y; vert4.z = maxima.z;
2132
+ vert1.x = minima.x + 0.001f; vert1.y = minima.y; vert1.z = minima.z;
2133
+ vert2.x = minima.x + 0.001f; vert2.y = maxima.y; vert2.z = minima.z;
2134
+ vert3.x = minima.x + 0.001f; vert3.y = minima.y; vert3.z = maxima.z;
2135
+ vert4.x = minima.x + 0.001f; vert4.y = maxima.y; vert4.z = maxima.z;
21362136 norm = cVector.X;
21372137 break;
21382138 case 1 :
2139
- vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z;
2140
- vert2.x = maxima.x; vert2.y = minima.y; vert2.z = minima.z;
2141
- vert3.x = minima.x; vert3.y = minima.y; vert3.z = maxima.z;
2142
- vert4.x = maxima.x; vert4.y = minima.y; vert4.z = maxima.z;
2139
+ vert1.x = minima.x; vert1.y = minima.y + 0.001f; vert1.z = minima.z;
2140
+ vert2.x = maxima.x; vert2.y = minima.y + 0.001f; vert2.z = minima.z;
2141
+ vert3.x = minima.x; vert3.y = minima.y + 0.001f; vert3.z = maxima.z;
2142
+ vert4.x = maxima.x; vert4.y = minima.y + 0.001f; vert4.z = maxima.z;
21432143 norm = cVector.Y;
21442144 break;
21452145 case 2 :
2146
- vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z;
2147
- vert2.x = maxima.x; vert2.y = minima.y; vert2.z = minima.z;
2148
- vert3.x = minima.x; vert3.y = maxima.y; vert3.z = minima.z;
2149
- vert4.x = maxima.x; vert4.y = maxima.y; vert4.z = minima.z;
2146
+ vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z + 0.001f;
2147
+ vert2.x = maxima.x; vert2.y = minima.y; vert2.z = minima.z + 0.001f;
2148
+ vert3.x = minima.x; vert3.y = maxima.y; vert3.z = minima.z + 0.001f;
2149
+ vert4.x = maxima.x; vert4.y = maxima.y; vert4.z = minima.z + 0.001f;
21502150 norm = cVector.Z;
21512151 break;
21522152 }
ObjEditor.java
....@@ -1767,7 +1767,7 @@
17671767 scrollpane.addMouseWheelListener(this); // Default not fast enough
17681768
17691769 /*JTabbedPane*/ scenePanel = new cGridBag();
1770
- scenePanel.preferredWidth = 6;
1770
+ scenePanel.preferredWidth = 5;
17711771
17721772 JTabbedPane tabbedPane = new JTabbedPane();
17731773 tabbedPane.add(scrollpane);
Object3D.java
....@@ -687,7 +687,7 @@
687687 {
688688 if (maxcount != 1)
689689 {
690
- new Exception().printStackTrace();
690
+ //new Exception().printStackTrace();
691691 }
692692
693693 toParentMarked = LA.newMatrix();
....@@ -2369,11 +2369,6 @@
23692369
23702370 InitOthers();
23712371
2372
- if (this instanceof Camera)
2373
- {
2374
- material.shift = 90;
2375
- }
2376
-
23772372 material.multiply = multiply;
23782373
23792374 if (multiply)
....@@ -7716,7 +7711,9 @@
77167711
77177712 scale *= 0.05f * Globals.theRenderer.RenderCamera().Distance();
77187713
7719
- if (modified || opposite)
7714
+ // Modified could snap
7715
+ if (//modified ||
7716
+ opposite)
77207717 {
77217718 //assert(false);
77227719 /*
....@@ -7810,7 +7807,7 @@
78107807
78117808 if (modified)
78127809 {
7813
- // Rotate 90 degrees
7810
+ // Rotate 45 degrees
78147811 angle /= (Math.PI / 4);
78157812 angle = Math.floor(angle + 0.5);
78167813 angle *= (Math.PI / 4);
....@@ -7896,7 +7893,7 @@
78967893 case 3: // '\001'
78977894 if (modified || opposite)
78987895 {
7899
- if (modified && opposite)
7896
+ if (modified) // && opposite)
79007897 LA.matScale(toParent, totalScale, totalScale, totalScale);
79017898 else
79027899 //LA.matScale(toParent, 1, hScale, vScale);
....@@ -7912,7 +7909,7 @@
79127909 case 2: // '\002'
79137910 if (modified || opposite)
79147911 {
7915
- if (modified && opposite)
7912
+ if (modified) // && opposite)
79167913 LA.matScale(toParent, totalScale, totalScale, totalScale);
79177914 else
79187915 //LA.matScale(toParent, hScale, 1, vScale);
....@@ -7926,7 +7923,7 @@
79267923 case 1: // '\003'
79277924 if (modified || opposite)
79287925 {
7929
- if (modified && opposite)
7926
+ if (modified) // && opposite)
79307927 LA.matScale(toParent, totalScale, totalScale, totalScale);
79317928 else
79327929 //LA.matScale(toParent, hScale, vScale, 1);
cMaterial.java
....@@ -362,10 +362,10 @@
362362 // }
363363
364364 float color = 0.5f, modulation /*SATURATION*/ = 0.001f, metalness = 0.001f;
365
- float diffuse = 0.75f, specular = 0.25f, shininess = 0.75f, shift = 1;
365
+ float diffuse = 1f, specular = 0.25f, shininess = 0.75f, shift = 1;
366366 float ambient = 0.001f, lightarea = 0.025f, factor = 0.001f, velvet = 0.001f;
367367 float sheen = 1f, subsurface = 0.001f, bump = 0.75f, aniso = 0.001f, anisoV = 0.001f;
368
- float cameralight = 0.3f, diffuseness = 0.001f, shadow = 5f, texture = 1f, opacity = 1;
368
+ float cameralight = 0.5f, diffuseness = 0.001f, shadow = 5f, texture = 1f, opacity = 1;
369369 float fakedepth = 0.5f, shadowbias = 0.01f; // 0.001f;
370370
371371 float parallax = 0;