/** * 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.Triangles); 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.TexCoord); if (buf != null) { buf.updateData(tb); VertexBuffer tvb = new VertexBuffer(VertexBuffer.Type.TexCoord); tvb.setupData(Usage.Static, 2, Format.Float, tb); setBuffer(tvb); buf = getBuffer(VertexBuffer.Type.Index); if (buf != null) {
@Override public void initParticleData(ParticleEmitter emitter, int numParticles) { setMode(Mode.Triangles); 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.TexCoord); if (buf != null) { buf.updateData(tb); } else { setBuffer(tvb); buf = getBuffer(VertexBuffer.Type.Index); if (buf != null) { buf.updateData(ib); } else { setBuffer(ivb);
@Override public void setImagesXY(int imagesX, int imagesY) { this.imagesX = imagesX; this.imagesY = imagesY; if (imagesX != 1 || imagesY != 1){ uniqueTexCoords = true; getBuffer(VertexBuffer.Type.TexCoord).setUsage(Usage.Stream); } }
VertexBuffer pvb = getBuffer(VertexBuffer.Type.Position); FloatBuffer positions = (FloatBuffer) pvb.getData(); VertexBuffer cvb = getBuffer(VertexBuffer.Type.Color); ByteBuffer colors = (ByteBuffer) cvb.getData(); VertexBuffer tvb = getBuffer(VertexBuffer.Type.TexCoord); FloatBuffer texcoords = (FloatBuffer) tvb.getData();
@Override public void initParticleData(ParticleEmitter emitter, int numParticles) { setMode(Mode.Triangles); 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.TexCoord); if (buf != null) { buf.updateData(tb); VertexBuffer tvb = new VertexBuffer(VertexBuffer.Type.TexCoord); tvb.setupData(Usage.Static, 2, Format.Float, tb); setBuffer(tvb); buf = getBuffer(VertexBuffer.Type.Index); if (buf != null) {
break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break;
@Override public void setImagesXY(int imagesX, int imagesY) { this.imagesX = imagesX; this.imagesY = imagesY; if (imagesX != 1 || imagesY != 1){ uniqueTexCoords = true; getBuffer(VertexBuffer.Type.TexCoord).setUsage(Usage.Stream); } }
break; case Triangle: clone.particleMesh = new ParticleTriMesh(); clone.setMesh(clone.particleMesh); break;
@Override public void setImagesXY(int imagesX, int imagesY) { this.imagesX = imagesX; this.imagesY = imagesY; if (imagesX != 1 || imagesY != 1){ uniqueTexCoords = true; getBuffer(VertexBuffer.Type.TexCoord).setUsage(Usage.Stream); } }
break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break;
particles = particlesCopy; VertexBuffer pvb = getBuffer(VertexBuffer.Type.Position); FloatBuffer positions = (FloatBuffer) pvb.getData(); VertexBuffer cvb = getBuffer(VertexBuffer.Type.Color); ByteBuffer colors = (ByteBuffer) cvb.getData(); VertexBuffer tvb = getBuffer(VertexBuffer.Type.TexCoord); FloatBuffer texcoords = (FloatBuffer) tvb.getData();
/** * 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); }
VertexBuffer pvb = getBuffer(VertexBuffer.Type.Position); FloatBuffer positions = (FloatBuffer) pvb.getData(); VertexBuffer cvb = getBuffer(VertexBuffer.Type.Color); ByteBuffer colors = (ByteBuffer) cvb.getData(); VertexBuffer tvb = getBuffer(VertexBuffer.Type.TexCoord); FloatBuffer texcoords = (FloatBuffer) tvb.getData();
/** * 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); }
break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break;
break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break;
break; case Triangle: clone.particleMesh = new ParticleTriMesh(); clone.setMesh(clone.particleMesh); break;
break; case Triangle: clone.particleMesh = new ParticleTriMesh(); clone.setMesh(clone.particleMesh); break;
break; case Triangle: particleMesh = new ParticleTriMesh(); this.setMesh(particleMesh); break;