From: <ma...@pr...> - 2004-01-28 07:28:55
|
Update of /cvsroot/jrman/drafts/src/org/jrman/render In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6214/src/org/jrman/render Modified Files: RendererHidden.java Log Message: More time and space optimizations. Index: RendererHidden.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/render/RendererHidden.java,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** RendererHidden.java 27 Jan 2004 05:58:45 -0000 1.60 --- RendererHidden.java 28 Jan 2004 07:27:43 -0000 1.61 *************** *** 101,104 **** --- 101,108 ---- private int wExtra; + + private Transform oldObjectToWorld; + + private Transform oldObjectToCamera; public void init(Frame frame, World world) { *************** *** 130,134 **** if (objectToCamera == null) { Transform objectToWorld = primitive.getAttributes().getTransform(); ! objectToCamera = worldToCamera.concat(objectToWorld); primitive.setObjectToCamera(objectToCamera); } --- 134,144 ---- if (objectToCamera == null) { Transform objectToWorld = primitive.getAttributes().getTransform(); ! if (oldObjectToWorld != null && oldObjectToWorld == objectToWorld) ! objectToCamera = oldObjectToCamera; ! else { ! objectToCamera = worldToCamera.concat(objectToWorld); ! oldObjectToWorld = objectToWorld; ! oldObjectToCamera = objectToCamera; ! } primitive.setObjectToCamera(objectToCamera); } *************** *** 346,351 **** } else { Primitive[] sub = p.split(); ! for (int i = 0; i < sub.length; i++) internalAddPrimitive(sub[i], column, row, true); } } else { --- 356,363 ---- } else { Primitive[] sub = p.split(); ! for (int i = 0; i < sub.length; i++) { ! sub[i].setObjectToCamera(p.getObjectToCamera()); internalAddPrimitive(sub[i], column, row, true); + } } } else { *************** *** 635,640 **** bucketRows = (int) Math.ceil(height / bucketHeight); buckets = new Bucket[bucketColumns * bucketRows]; ! wExtra = bucketWidth - (int) width % bucketWidth; ! hExtra = bucketHeight - (int) height % bucketHeight; if (frame.fileBucketsEnabled()) for (int i = 0; i < buckets.length; i++) --- 647,658 ---- bucketRows = (int) Math.ceil(height / bucketHeight); buckets = new Bucket[bucketColumns * bucketRows]; ! if (width < frame.getHorizontalResolution()) ! wExtra = bucketWidth - (int) width % bucketWidth; ! else ! wExtra = 0; ! if (height < frame.getVerticalResolution()) ! hExtra = bucketHeight - (int) height % bucketHeight; ! else ! hExtra = 0; if (frame.fileBucketsEnabled()) for (int i = 0; i < buckets.length; i++) |