Normand Briere
2019-07-24 ebd16116fc612bf14e2469ba27dd7ee54918eabb
CameraPane.java
....@@ -12402,7 +12402,7 @@
1240212402 String program =
1240312403 // Min shader
1240412404 "!!ARBfp1.0\n" +
12405
- "PARAM zero123 = { 0.0, 1.0, 2.0, 3.0 };" +
12405
+ "PARAM zero123 = { 0.0, 1.0, 2.0, 1.25 };" +
1240612406 "PARAM pow2 = { 0.5, 0.25, 0.125, 0.0 };" +
1240712407 "PARAM one = { 1.0, 1.0, 1.0, 1.0 };" +
1240812408 "PARAM eps = { 0.001, 0.001, 0.001, 1.0 };" +
....@@ -12433,6 +12433,7 @@
1243312433 "MAX ndotl.x, ndotl.x, pow2.y;" +
1243412434
1243512435 "TEX temp, fragment.texcoord[0], texture[0], 2D;" +
12436
+ "LRP temp, zero123.w, temp, one;" + // texture proportion
1243612437 "MUL temp, temp, ndotl.x;" +
1243712438
1243812439 "MUL temp, temp, zero123.z;" +
....@@ -13396,20 +13397,20 @@
1339613397 return "TEX " + dest + ", " + src + ", texture[" + unit + "], 2D;" +
1339713398 "SGE " + src + ".w, " + src + ".x, eps.x;" +
1339813399 "SGE " + src + ".z, " + src + ".y, eps.x;" +
13400
+ "SLT " + dest + ".x, " + src + ".x, one.x;" +
13401
+ "SLT " + dest + ".y, " + src + ".y, one.x;" +
1339913402 "MUL " + src + ".w, " + src + ".z, " + src + ".w;" +
13400
- "SLT " + src + ".z, " + src + ".x, one.x;" +
13401
- "MUL " + src + ".w, " + src + ".z, " + src + ".w;" +
13402
- "SLT " + src + ".z, " + src + ".y, one.x;" +
13403
- "MUL " + src + ".w, " + src + ".z, " + src + ".w;" +
13403
+ "MUL " + src + ".w, " + dest + ".x, " + src + ".w;" +
13404
+ "MUL " + src + ".w, " + dest + ".y, " + src + ".w;" +
1340413405 //"SWZ buffer, temp, w,w,w,w;";
13405
- "MUL " + dest + ".z, " + dest + ".z, " + src + ".w;" +
13406
+ //"MUL " + dest + ".z, " + dest + ".z, " + src + ".w;" +
1340613407 "SUB " + src + ".z, " + "one.x, " + src + ".w;" +
1340713408 //"MUL " + src + ".z, " + src + ".z, infinity.x;" +
1340813409 //"ADD " + dest + ".z, " + dest + ".z, " + src + ".z;";
13409
- "MAD " + dest + ".z, " + src + ".z, infinity.x," + dest + ".z;";
13410
+ //"MAD " + dest + ".z, " + src + ".z, infinity.x," + dest + ".z;";
1341013411
13411
- //"LRP " + dest + ".z, " + src + ".w," + dest + ".z, infinity.x;";
13412
- //"LRP " + dest + ".z" + ", " + src + ".w, infinity.x," + dest + ".z;";
13412
+ //?? "LRP " + dest + ".z, " + src + ".w," + dest + ".z, infinity.x;";
13413
+ "LRP " + dest + ".z, " + src + ".z, infinity.x," + dest + ".z;";
1341313414 }
1341413415
1341513416 String Shadow(String depth, String shadow)
....@@ -14254,14 +14255,15 @@
1425414255 drag = false;
1425514256 //System.out.println("Mouse DOWN");
1425614257 editObj = false;
14257
- ClickInfo info = new ClickInfo();
14258
- info.bounds.setBounds(0, 0, (int) (getBounds().width * zoom), (int) (getBounds().height * zoom));
14259
- info.pane = this;
14260
- info.camera = renderCamera;
14261
- info.x = x;
14262
- info.y = y;
14263
- info.modifiers = modifiersex;
14264
- editObj = object.doEditClick(info, 0);
14258
+ //ClickInfo info = new ClickInfo();
14259
+ object.clickInfo.bounds.setBounds(0, 0, (int) (getBounds().width * zoom), (int) (getBounds().height * zoom));
14260
+ object.clickInfo.pane = this;
14261
+ object.clickInfo.camera = renderCamera;
14262
+ object.clickInfo.x = x;
14263
+ object.clickInfo.y = y;
14264
+ object.clickInfo.modifiers = modifiersex;
14265
+ editObj = object.doEditClick(//info,
14266
+ 0);
1426514267 if (!editObj)
1426614268 {
1426714269 hasMarquee = true;
....@@ -14661,15 +14663,16 @@
1466114663 if (editObj)
1466214664 {
1466314665 drag = true;
14664
- ClickInfo info = new ClickInfo();
14665
- info.bounds.setBounds(0, 0,
14666
+ //ClickInfo info = new ClickInfo();
14667
+ object.clickInfo.bounds.setBounds(0, 0,
1466614668 (int) (getBounds().width * zoom), (int) (getBounds().height * zoom));
14667
- info.pane = this;
14668
- info.camera = renderCamera;
14669
- info.x = x;
14670
- info.y = y;
14671
- object.GetWindow().copy
14672
- .doEditDrag(info, (modifiers & MouseEvent.BUTTON3_MASK) != 0);
14669
+ object.clickInfo.pane = this;
14670
+ object.clickInfo.camera = renderCamera;
14671
+ object.clickInfo.x = x;
14672
+ object.clickInfo.y = y;
14673
+ object //.GetWindow().copy
14674
+ .doEditDrag(//info,
14675
+ (modifiers & MouseEvent.BUTTON3_MASK) != 0);
1467314676 } else
1467414677 {
1467514678 if (x < startX)
....@@ -14818,24 +14821,27 @@
1481814821 }
1481914822 }
1482014823
14824
+// ClickInfo clickInfo = new ClickInfo();
14825
+
1482114826 public void mouseMoved(MouseEvent e)
1482214827 {
1482314828 //System.out.println("mouseMoved: " + e);
1482414829 if (isRenderer)
1482514830 return;
1482614831
14827
- ClickInfo ci = new ClickInfo();
14828
- ci.x = e.getX();
14829
- ci.y = e.getY();
14830
- ci.modifiers = e.getModifiersEx();
14831
- ci.bounds.setBounds(0, 0, (int) (getBounds().width * zoom), (int) (getBounds().height * zoom));
14832
- ci.pane = this;
14833
- ci.camera = renderCamera;
14832
+ // Mouse cursor feedback
14833
+ object.clickInfo.x = e.getX();
14834
+ object.clickInfo.y = e.getY();
14835
+ object.clickInfo.modifiers = e.getModifiersEx();
14836
+ object.clickInfo.bounds.setBounds(0, 0, (int) (getBounds().width * zoom), (int) (getBounds().height * zoom));
14837
+ object.clickInfo.pane = this;
14838
+ object.clickInfo.camera = renderCamera;
1483414839 if (!isRenderer)
1483514840 {
1483614841 //ObjEditor editWindow = object.editWindow;
1483714842 //Object3D copy = editWindow.copy;
14838
- if (object.doEditClick(ci, 0))
14843
+ if (object.doEditClick(//clickInfo,
14844
+ 0))
1483914845 {
1484014846 setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
1484114847 } else
....@@ -15861,8 +15867,6 @@
1586115867
1586215868 int width = getBounds().width;
1586315869 int height = getBounds().height;
15864
- ClickInfo info = new ClickInfo();
15865
- info.bounds.setBounds(0, 0, (int) (width * zoom), (int) (height * zoom));
1586615870 //Image img = CreateImage(width, height);
1586715871 //System.out.println("width = " + width + "; height = " + height + "\n");
1586815872
....@@ -15939,31 +15943,37 @@
1593915943 }
1594015944 if (object != null && !hasMarquee)
1594115945 {
15946
+ if (object.clickInfo == null)
15947
+ object.clickInfo = new ClickInfo();
15948
+ ClickInfo info = object.clickInfo;
15949
+ //ClickInfo info = new ClickInfo();
15950
+ info.bounds.setBounds(0, 0, (int) (width * zoom), (int) (height * zoom));
15951
+
1594215952 if (isRenderer)
1594315953 {
15944
- info.flags++;
15954
+ object.clickInfo.flags++;
1594515955 double frameAspect = (double) width / (double) height;
1594615956 if (frameAspect > renderCamera.aspect)
1594715957 {
1594815958 int desired = (int) ((double) height * renderCamera.aspect);
15949
- info.bounds.width -= width - desired;
15950
- info.bounds.x += (width - desired) / 2;
15959
+ object.clickInfo.bounds.width -= width - desired;
15960
+ object.clickInfo.bounds.x += (width - desired) / 2;
1595115961 } else
1595215962 {
1595315963 int desired = (int) ((double) width / renderCamera.aspect);
15954
- info.bounds.height -= height - desired;
15955
- info.bounds.y += (height - desired) / 2;
15964
+ object.clickInfo.bounds.height -= height - desired;
15965
+ object.clickInfo.bounds.y += (height - desired) / 2;
1595615966 }
1595715967 }
1595815968
15959
- info.g = gr;
15960
- info.camera = renderCamera;
15969
+ object.clickInfo.g = gr;
15970
+ object.clickInfo.camera = renderCamera;
1596115971 /*
1596215972 // Memory intensive (brep.verticescopy)
1596315973 if (!(object instanceof Composite))
1596415974 object.draw(info, 0, false); // SLOW :
1596515975 */
15966
- if (!isRenderer)
15976
+ if (!isRenderer) // && drag)
1596715977 {
1596815978 Grafreed.Assert(object != null);
1596915979 Grafreed.Assert(object.selection != null);
....@@ -15971,9 +15981,9 @@
1597115981 {
1597215982 int hitSomething = object.selection.get(0).hitSomething;
1597315983
15974
- info.DX = 0;
15975
- info.DY = 0;
15976
- info.W = 1;
15984
+ object.clickInfo.DX = 0;
15985
+ object.clickInfo.DY = 0;
15986
+ object.clickInfo.W = 1;
1597715987 if (hitSomething == Object3D.hitCenter)
1597815988 {
1597915989 info.DX = X;
....@@ -15985,7 +15995,8 @@
1598515995 info.DY -= info.bounds.height/2;
1598615996 }
1598715997
15988
- object.drawEditHandles(info, 0);
15998
+ object.drawEditHandles(//info,
15999
+ 0);
1598916000
1599016001 if (drag && (X != 0 || Y != 0))
1599116002 {
....@@ -15998,7 +16009,7 @@
1599816009 gr.drawLine(X, Y, info.bounds.width/2, info.bounds.height/2);
1599916010 break;
1600016011 case Object3D.hitScale: gr.setColor(Color.cyan);
16001
- gr.drawLine(X, Y, info.bounds.width/2, info.bounds.height/2);
16012
+ gr.drawLine(X, Y, 0, 0);
1600216013 break;
1600316014 }
1600416015