Field

Changeset 155:3a06387c0ef8

Show
Ignore:
Timestamp:
08/16/2008 02:23:51 AM (4 months ago)
Author:
marc@f1.local
branch:
default
Message:

minor additions to DynamicXXX utility classes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • development/java/field/graphics/dynamic/DynamicMesh.java

    r0 r155  
    99import field.bytecode.protect.iInside; 
    1010import field.graphics.core.Base; 
     11import field.graphics.core.BasicGLSLangProgram; 
    1112import field.graphics.core.BasicGeometry; 
    1213import field.graphics.core.BasicSceneList; 
     
    1920import field.math.linalg.Vector3; 
    2021 
    21  
    2222/** 
    2323 * @author marc Created on Oct 21, 2003 
     
    3737        } 
    3838 
     39        public static DynamicMesh coloredMesh(BasicSceneList basicSceneList) { 
     40                BasicGLSLangProgram program = new BasicGLSLangProgram("content/shaders/TestGLSLangVertex.glslang", "content/shaders/VertexColorFragment.glslang"); 
     41                BasicGeometry.TriangleMesh lines = new BasicGeometry.TriangleMesh(new BasicUtilities.Position()); 
     42                lines.rebuildTriangle(0); 
     43                lines.rebuildVertex(0); 
     44                lines.addChild(program); 
     45                if (basicSceneList!=null) 
     46                        basicSceneList.addChild(lines); 
     47                DynamicMesh ret = new DynamicMesh(lines); 
     48                return ret; 
     49        } 
     50 
    3951        static public DynamicPointlist unshadedPoints(BasicSceneList into) { 
    4052                BasicGeometry.TriangleMesh lines = new PointList(new BasicUtilities.Position()); 
    4153                lines.rebuildTriangle(0); 
    4254                lines.rebuildVertex(0); 
    43                 if (into != null) into.addChild(lines); 
     55                if (into != null) 
     56                        into.addChild(lines); 
    4457 
    4558                DynamicPointlist ret = new DynamicPointlist(lines); 
     
    113126                        } 
    114127                } 
    115                 if (openCount<0) 
     128                if (openCount < 0) 
    116129                        assert false : "to many closes"; 
    117130        } 
    118131 
    119132        public void copyFrom(SubMesh subMesh) { 
    120                 if (subMesh.delegate.cachedVertexBuffer == null) return; 
    121                 if (subMesh.delegate.cachedTriangleBuffer== null) return; 
     133                if (subMesh.delegate.cachedVertexBuffer == null) 
     134                        return; 
     135                if (subMesh.delegate.cachedTriangleBuffer == null) 
     136                        return; 
    122137 
    123138                for (int i = 0; i < subMesh.delegate.cachedAuxBuffer.length; i++) { 
     
    134149                subMesh.delegate.cachedTriangleBuffer.rewind(); 
    135150 
    136  
    137                 this.inject(subMesh.delegate.cachedVertexBuffer, subMesh.delegate.cachedTriangleBuffer, new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, subMesh.delegate.cachedAuxBuffer, 0); 
     151                this.inject(subMesh.delegate.cachedVertexBuffer, subMesh.delegate.cachedTriangleBuffer, new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, subMesh.delegate.cachedAuxBuffer, 0); 
    138152 
    139153                // subMesh.delegate.cachedVertexBuffer.clear(); 
     
    147161         */ 
    148162        public Vector3 getPositionOfVertex(int v1, Vector3 v) { 
    149                 if (v == null) v = new Vector3(); 
     163                if (v == null) 
     164                        v = new Vector3(); 
    150165                return v.set(cachedVertexBuffer.get(3 * v1), cachedVertexBuffer.get(3 * v1 + 1), cachedVertexBuffer.get(3 * v1 + 2)); 
    151166        } 
     
    177192                cachedVertexBuffer.position(0); 
    178193 
    179  
    180194                checkTriangleStorage(triangleCursor, triangle.remaining() / elementSize); 
    181195                cachedTriangleBuffer.position(triangleCursor * elementSize); 
     
    187201                                short c = (short) (triangle.get() - offset); 
    188202 
    189  
    190203                                // assert c>0; 
    191204                                cachedTriangleBuffer.put(c); 
     
    197210                triangleCursor += triangle.limit() / elementSize; 
    198211 
    199  
    200212                for (int i = 0; i < auxs.length; i++) { 
    201                         if (auxBuffers[i] != null) if (auxBuffers[i].remaining() > 0) { 
    202  
    203                                 if (cachedAuxBuffer[auxs[i]] == null) { 
    204                                 checkAuxStorage(auxs[i], auxBuffers[i].capacity() / (vertex.capacity() / 3)); 
    205                         } else 
    206                                 checkAuxStorage(auxs[i], cachedAuxBufferWidth[auxs[i]]); 
    207                         cachedAuxBuffer[auxs[i]].position(cachedAuxBufferWidth[auxs[i]] * originalVertexCursor); 
    208  
    209  
    210                         cachedAuxBuffer[auxs[i]].put(auxBuffers[i]); 
    211                         cachedAuxBuffer[auxs[i]].position(0); 
    212                
     213                        if (auxBuffers[i] != null) 
     214                                if (auxBuffers[i].remaining() > 0) { 
     215 
     216                                       if (cachedAuxBuffer[auxs[i]] == null) { 
     217                                               checkAuxStorage(auxs[i], auxBuffers[i].capacity() / (vertex.capacity() / 3)); 
     218                                       } else 
     219                                               checkAuxStorage(auxs[i], cachedAuxBufferWidth[auxs[i]]); 
     220                                        cachedAuxBuffer[auxs[i]].position(cachedAuxBufferWidth[auxs[i]] * originalVertexCursor); 
     221 
     222                                       cachedAuxBuffer[auxs[i]].put(auxBuffers[i]); 
     223                                       cachedAuxBuffer[auxs[i]].position(0); 
     224                               
    213225                        // else 
    214226                } 
     
    277289                int vertexCursor3 = 3 * vertexCursor; 
    278290 
    279  
    280291                cachedVertexBuffer.put(vertexCursor3, v1.get(0)); 
    281292                cachedVertexBuffer.put(vertexCursor3 + 1, v1.get(1)); 
     
    304315                if (this.getUnderlyingGeometry().getParents().size() != 0) { 
    305316 
    306                         List< ? extends iMutable<iSceneListElement>> p = new ArrayList<iMutable<iSceneListElement>>(this.getUnderlyingGeometry().getParents()); 
    307                         Iterator< ? extends iMutable<iSceneListElement>> n = p.iterator(); 
     317                        List<? extends iMutable<iSceneListElement>> p = new ArrayList<iMutable<iSceneListElement>>(this.getUnderlyingGeometry().getParents()); 
     318                        Iterator<? extends iMutable<iSceneListElement>> n = p.iterator(); 
    308319                        while (n.hasNext()) { 
    309320                                iMutable<iSceneListElement> nn = n.next(); 
     
    313324                        ((TriangleMesh) this.getUnderlyingGeometry()).deallocate(ResourceMonitor.resourceMonitor.getQueue()); 
    314325                } 
    315                 // (((Base.iSceneList) this.getUnderlyingGeometry().getParent())).removeChild(getUnderlyingGeometry()); 
     326                // (((Base.iSceneList) 
     327                // this.getUnderlyingGeometry().getParent())).removeChild(getUnderlyingGeometry()); 
    316328        } 
    317329 
     
    351363                cachedVertexBuffer.put(vertexCursor3 + 1, v1.get(1)); 
    352364                cachedVertexBuffer.put(vertexCursor3 + 2, v1.get(2)); 
    353                 if (vertexCursor < n + 1) vertexCursor = n + 1; 
     365                if (vertexCursor < n + 1) 
     366                        vertexCursor = n + 1; 
    354367        } 
    355368 
     
    375388        protected void checkTriangleStorage(int at, int plus) { 
    376389 
    377                 if (cachedTriangleBuffer == null) cachedTriangleBuffer = basis.triangle(); 
     390                if (cachedTriangleBuffer == null) 
     391                        cachedTriangleBuffer = basis.triangle(); 
    378392                cachedTriangleBuffer.clear(); 
    379393                if (cachedTriangleBuffer.capacity() < ((at + plus) * elementSize)) { 
     
    385399        protected void checkVertexStorage(int at, int plus) { 
    386400 
    387                 if (cachedVertexBuffer == null) cachedVertexBuffer = basis.vertex(); 
     401                if (cachedVertexBuffer == null) 
     402                        cachedVertexBuffer = basis.vertex(); 
    388403                cachedVertexBuffer.clear(); 
    389404                if (cachedVertexBuffer.capacity() < ((at * 3 + plus))) { 
  • development/java/field/graphics/dynamic/DynamicPointlist.java

    r0 r155  
    33import field.graphics.core.Base; 
    44import field.graphics.core.BasicGLSLangProgram; 
    5 import field.graphics.core.BasicGeometry; 
    65import field.graphics.core.BasicSceneList; 
    76import field.graphics.core.BasicUtilities; 
     
    1110/** 
    1211 * Created on Nov 2, 2003 
    13  *  
     12 * 
    1413 * @author marc 
    1514 */ 
     
    2423 
    2524        /** @return */ 
     25        @Override 
    2626        public PointList getUnderlyingGeometry() { 
    2727                return (PointList) basis; 
    2828        } 
    2929 
    30          
     30 
     31        @Override 
    3132        public int nextFace(Vector3 v1, Vector3 v2, Vector3 v3) { 
    3233                nextVertex(v1); 
     
    3637        } 
    3738 
     39        @Override 
    3840        public int nextFace(int v1, int v2, int v3) { 
    3941                return -1; 
    4042        } 
    4143 
     44        @Override 
    4245        public int nextVertex(Vector3 v1) { 
    4346                return super.nextVertex(v1); 
    4447        } 
    45          
     48 
    4649 
    4750        public static DynamicPointlist coloredPoints(BasicSceneList sceneList, float width) { 
     
    5760                return ret; 
    5861        } 
     62 
     63        public static DynamicPointlist texturedColoredPoints(BasicSceneList sceneList, float width) { 
     64 
     65                BasicGLSLangProgram program = new BasicGLSLangProgram("content/shaders/TestGLSLangVertex_withPointsize.glslang", "content/shaders/Texture2DForPointSprites.glslang"); 
     66                program.new SetIntegerUniform("texture", 0); 
     67                program.setDoPointSize(); 
     68                PointList lines = new PointList(new BasicUtilities.Position()).setSize(width); 
     69                lines.rebuildTriangle(0); 
     70                lines.rebuildVertex(0); 
     71                lines.addChild(program); 
     72                if (sceneList != null) 
     73                        sceneList.addChild(lines); 
     74                DynamicPointlist ret = new DynamicPointlist(lines); 
     75                return ret; 
     76        } 
    5977} 
  • extras/jfbxlib/java/field/graphics/jfbxlib/HierarchyOfCoordinateFrames.java

    r32 r155  
    5555                public void getWorld(CoordinateFrame out) { 
    5656                        // first, lets just check to see if anything has changed 
    57                       if (globalModCountHere == globalModCount) { 
    58                               out.setValue(cachedWorld); 
    59                       } 
     57//                    if (globalModCountHere == globalModCount) { 
     58//                            out.setValue(cachedWorld); 
     59//                    } 
    6060 
    6161                        // next, lets see if just us has changed 
     
    8888 
    8989                        cachedWorld.multiply(tmp, frame); 
     90 
    9091 
    9192                        modCountParent = parent != null ? parent.modCountHere : 0; 
  • extras/jfbxlib/java/field/graphics/jfbxlib/SkinningTools.java

    r32 r155  
    269269                                                        n.setLocal(out); 
    270270 
     271 
    271272                                                } 
    272273                                        } else { 
  • extras/jfbxlib/java/field/graphics/jfbxlib/SlowSkinner.java

    r32 r155  
    7171                        currentLinkInfo[i].inverseGeometry.set(skinningInfo.bindPoseDescriptions[i].geometryRotation, skinningInfo.bindPoseDescriptions[i].geometryTranslation, skinningInfo.bindPoseDescriptions[i].geometryScale); 
    7272 
    73                         System.out.println(" initial link matricies\n bound:" + currentLinkInfo[i].bound + "\n inverseGeometry (not invert yet):" + currentLinkInfo[i].inverseGeometry); 
     73                        //System.out.println(" initial link matricies\n bound:" + currentLinkInfo[i].bound + "\n inverseGeometry (not invert yet):" + currentLinkInfo[i].inverseGeometry); 
    7474                        currentLinkInfo[i].inverseGeometry.invert(); 
    7575                }