Subversion Repositories AndroidProjects

Rev

Rev 190 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.Bauzoid.graphics.model;

import com.gebauz.Bauzoid.graphics.Graphics;
import com.gebauz.Bauzoid.graphics.GraphicsObject;
import com.gebauz.Bauzoid.graphics.shader.Effect;

/** Bath render group of a mesh that manages the effect, techniques, and variables attached to this group. */
public class MeshGroup extends GraphicsObject
{
        private Mesh mParentMesh;
        private String mName;
       
        private int mFirstIndex = 0;
        private int mLastIndex = 0;
        private int mFirstVertex = 0;
        private int mLastVertex = 0;
       
        private Effect mEffect = null;
       
        /** Constructor. */
        public MeshGroup(Mesh parentMesh, String name, int firstIndex, int lastIndex, int firstVertex, int lastVertex)
        {
                super(parentMesh.getGraphics());
               
                mParentMesh = parentMesh;
                mName = name;
               
                mFirstIndex = firstIndex;
                mLastIndex = lastIndex;
                mFirstVertex = firstVertex;
                mLastVertex = lastVertex;
        }
       
        /** Set the associated effect. */
        public void setEffect(Effect effect)
        {
                mEffect = effect;
        }
       
        /** Render this group using a mesh's specified Geometry. */
        public void render()
        {
                mParentMesh.getGeometry().render(mFirstIndex, mLastIndex, mFirstVertex, mLastVertex);
        }
       
        /** Get name. */
        public final String getName()
        {
                return mName;
        }

}