/** * Sets the type of mesh used by the particle emitter. * @param meshType The mesh type to use */ public void setMeshType(ParticleMesh.Type meshType) { this.meshType = meshType; switch (meshType) { case Point: particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break; default: throw new IllegalStateException("Unrecognized particle type: " + meshType); } this.setNumParticles(particles.length); }
@Override public void initParticleData(ParticleEmitter emitter, int numParticles) { setMode(Mode.Points); VertexBuffer buf = getBuffer(VertexBuffer.Type.Position); if (buf != null) { buf.updateData(pb); VertexBuffer pvb = new VertexBuffer(VertexBuffer.Type.Position); pvb.setupData(Usage.Stream, 3, Format.Float, pb); setBuffer(pvb); buf = getBuffer(VertexBuffer.Type.Color); if (buf != null) { buf.updateData(cb); cvb.setupData(Usage.Stream, 4, Format.UnsignedByte, cb); cvb.setNormalized(true); setBuffer(cvb); buf = getBuffer(VertexBuffer.Type.Size); if (buf != null) { buf.updateData(sb); VertexBuffer svb = new VertexBuffer(VertexBuffer.Type.Size); svb.setupData(Usage.Stream, 1, Format.Float, sb); setBuffer(svb); buf = getBuffer(VertexBuffer.Type.TexCoord); if (buf != null) {
@Override public void initParticleData(ParticleEmitter emitter, int numParticles) { setMode(Mode.Points); VertexBuffer buf = getBuffer(VertexBuffer.Type.Position); if (buf != null) { buf.updateData(pb); } else { setBuffer(pvb); cvb.setNormalized(true); buf = getBuffer(VertexBuffer.Type.Color); if (buf != null) { buf.updateData(cb); } else { setBuffer(cvb); buf = getBuffer(VertexBuffer.Type.Size); if (buf != null) { buf.updateData(sb); } else { setBuffer(svb); buf = getBuffer(VertexBuffer.Type.TexCoord); if (buf != null) { buf.updateData(tb); } else { setBuffer(tvb);
@Override public void updateParticleData(Particle[] particles, Camera cam, Matrix3f inverseRotation) { VertexBuffer pvb = getBuffer(VertexBuffer.Type.Position); FloatBuffer positions = (FloatBuffer) pvb.getData(); VertexBuffer cvb = getBuffer(VertexBuffer.Type.Color); ByteBuffer colors = (ByteBuffer) cvb.getData(); VertexBuffer svb = getBuffer(VertexBuffer.Type.Size); FloatBuffer sizes = (FloatBuffer) svb.getData(); VertexBuffer tvb = getBuffer(VertexBuffer.Type.TexCoord); FloatBuffer texcoords = (FloatBuffer) tvb.getData();
@Override public void updateParticleData(Particle[] particles, Camera cam, Matrix3f inverseRotation) { VertexBuffer pvb = getBuffer(VertexBuffer.Type.Position); FloatBuffer positions = (FloatBuffer) pvb.getData(); VertexBuffer cvb = getBuffer(VertexBuffer.Type.Color); ByteBuffer colors = (ByteBuffer) cvb.getData(); VertexBuffer svb = getBuffer(VertexBuffer.Type.Size); FloatBuffer sizes = (FloatBuffer) svb.getData(); VertexBuffer tvb = getBuffer(VertexBuffer.Type.TexCoord); FloatBuffer texcoords = (FloatBuffer) tvb.getData();
@Override public void initParticleData(ParticleEmitter emitter, int numParticles) { setMode(Mode.Points); VertexBuffer buf = getBuffer(VertexBuffer.Type.Position); if (buf != null) { buf.updateData(pb); VertexBuffer pvb = new VertexBuffer(VertexBuffer.Type.Position); pvb.setupData(Usage.Stream, 3, Format.Float, pb); setBuffer(pvb); buf = getBuffer(VertexBuffer.Type.Color); if (buf != null) { buf.updateData(cb); cvb.setupData(Usage.Stream, 4, Format.UnsignedByte, cb); cvb.setNormalized(true); setBuffer(cvb); buf = getBuffer(VertexBuffer.Type.Size); if (buf != null) { buf.updateData(sb); VertexBuffer svb = new VertexBuffer(VertexBuffer.Type.Size); svb.setupData(Usage.Stream, 1, Format.Float, sb); setBuffer(svb); buf = getBuffer(VertexBuffer.Type.TexCoord); if (buf != null) {
particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break;
@Override public void updateParticleData(Particle[] particles, Camera cam, Matrix3f inverseRotation) { VertexBuffer pvb = getBuffer(VertexBuffer.Type.Position); FloatBuffer positions = (FloatBuffer) pvb.getData(); VertexBuffer cvb = getBuffer(VertexBuffer.Type.Color); ByteBuffer colors = (ByteBuffer) cvb.getData(); VertexBuffer svb = getBuffer(VertexBuffer.Type.Size); FloatBuffer sizes = (FloatBuffer) svb.getData(); VertexBuffer tvb = getBuffer(VertexBuffer.Type.TexCoord); FloatBuffer texcoords = (FloatBuffer) tvb.getData();
clone.particleMesh = new ParticlePointMesh(); clone.setMesh(clone.particleMesh); break;
particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break;
/** * Sets the type of mesh used by the particle emitter. * @param meshType The mesh type to use */ public void setMeshType(ParticleMesh.Type meshType) { this.meshType = meshType; switch (meshType) { case Point: particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break; default: throw new IllegalStateException("Unrecognized particle type: " + meshType); } this.setNumParticles(particles.length); }
/** * Sets the type of mesh used by the particle emitter. * @param meshType The mesh type to use */ public void setMeshType(ParticleMesh.Type meshType) { this.meshType = meshType; switch (meshType) { case Point: particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break; default: throw new IllegalStateException("Unrecognized particle type: " + meshType); } this.setNumParticles(particles.length); }
particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break;
particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break;
clone.particleMesh = new ParticlePointMesh(); clone.setMesh(clone.particleMesh); break;
clone.particleMesh = new ParticlePointMesh(); clone.setMesh(clone.particleMesh); break;
particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break;
particleMesh = new ParticlePointMesh(); this.setMesh(particleMesh); break;