当前位置: 首页>>代码示例>>Java>>正文


Java VertexDataType类代码示例

本文整理汇总了Java中com.badlogic.gdx.graphics.Mesh.VertexDataType的典型用法代码示例。如果您正苦于以下问题:Java VertexDataType类的具体用法?Java VertexDataType怎么用?Java VertexDataType使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


VertexDataType类属于com.badlogic.gdx.graphics.Mesh包,在下文中一共展示了VertexDataType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: ShaderEffect

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/**
 * Instantiates a new ShaderEffect. The ShaderEffect will NOT own shader
 * program, so it will not dispose it either!
 * 
 * @param program
 *            the ShaderProgram to use for this effect
 */
public ShaderEffect(ShaderProgram program) {
	this.program = program;

	if (meshRefCount++ <= 0) {
		mesh = new Mesh(VertexDataType.VertexArray, true, 4, 0,
				new VertexAttribute(Usage.Position, 2, ShaderProgram.POSITION_ATTRIBUTE),
				new VertexAttribute(Usage.TextureCoordinates, 2, ShaderProgram.TEXCOORD_ATTRIBUTE + "0"));

		// @formatter:off
		float[] verts = {
				// vertex    texture
				  -1, -1,    0f, 0f,
				   1, -1,    1f, 0f,
				   1,  1,    1f, 1f,
				  -1,  1,    0f, 1f,
		};
		// @formatter:on

		mesh.setVertices(verts);
	}
}
 
开发者ID:spookygames,项目名称:gdx-gfx,代码行数:29,代码来源:ShaderEffect.java

示例2: PositionalLight

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
public PositionalLight (RayHandler rayHandler, int rays, Color color, float distance, float x, float y, float directionDegree) {
	super(rayHandler, rays, color, directionDegree, distance);
	start.x = x;
	start.y = y;
	sin = new float[rays];
	cos = new float[rays];
	endX = new float[rays];
	endY = new float[rays];

	lightMesh = new Mesh(VertexDataType.VertexArray, false, vertexNum, 0, new VertexAttribute(Usage.Position, 2,
		"vertex_positions"), new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
		new VertexAttribute(Usage.Generic, 1, "s"));
	softShadowMesh = new Mesh(VertexDataType.VertexArray, false, vertexNum * 2, 0, new VertexAttribute(Usage.Position, 2,
		"vertex_positions"), new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
		new VertexAttribute(Usage.Generic, 1, "s"));
	setMesh();
}
 
开发者ID:mganzarcik,项目名称:fabulae,代码行数:18,代码来源:PositionalLight.java

示例3: DirectionalLight

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/** Directional lights simulate light source that locations is at infinite distance. Direction and intensity is same everywhere.
 * -90 direction is straight from up.
 * 
 * @param rayHandler
 * @param rays
 * @param color
 * @param directionDegree */
public DirectionalLight (RayHandler rayHandler, int rays, Color color, float directionDegree) {

	super(rayHandler, rays, color, directionDegree, Float.POSITIVE_INFINITY);

	vertexNum = (vertexNum - 1) * 2;

	start = new Vector2[rayNum];
	end = new Vector2[rayNum];
	for (int i = 0; i < rayNum; i++) {
		start[i] = new Vector2();
		end[i] = new Vector2();
	}
	setDirection(direction);

	lightMesh = new Mesh(VertexDataType.VertexArray, staticLight, vertexNum, 0, new VertexAttribute(Usage.Position, 2,
		"vertex_positions"), new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
		new VertexAttribute(Usage.Generic, 1, "s"));
	softShadowMesh = new Mesh(VertexDataType.VertexArray, staticLight, vertexNum, 0, new VertexAttribute(Usage.Position, 2,
		"vertex_positions"), new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
		new VertexAttribute(Usage.Generic, 1, "s"));
	update();
}
 
开发者ID:mganzarcik,项目名称:fabulae,代码行数:30,代码来源:DirectionalLight.java

示例4: RavChainLight

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/** Creates chain light from specified vertices
 * 
 * @param rayHandler not {@code null} instance of RayHandler
 * @param rays number of rays - more rays make light to look more realistic but will decrease performance, can't be less than
 *           MIN_RAYS
 * @param color color, set to {@code null} to use the default color
 * @param distance distance of light
 * @param rayDirection direction of rays
 *           <ul>
 *           <li>1 = left</li>
 *           <li>-1 = right</li>
 *           </ul>
 * @param chain float array of (x, y) vertices from which rays will be evenly distributed */
public RavChainLight (RayHandler rayHandler, int rays, Color color, float distance, int rayDirection, float[] chain) {
	super(rayHandler, rays, color, distance, 0f);

	rayStartOffset = ChainLight.defaultRayStartOffset;
	this.rayDirection = rayDirection;
	vertexNum = (vertexNum - 1) * 2;
	endX = new float[rays];
	endY = new float[rays];
	startX = new float[rays];
	startY = new float[rays];
	this.chain = (chain != null) ? new FloatArray(chain) : new FloatArray();

	lightMesh = new Mesh(VertexDataType.VertexArray, false, vertexNum, 0,
		new VertexAttribute(Usage.Position, 2, "vertex_positions"), new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
		new VertexAttribute(Usage.Generic, 1, "s"));
	softShadowMesh = new Mesh(VertexDataType.VertexArray, false, vertexNum * 2, 0,
		new VertexAttribute(Usage.Position, 2, "vertex_positions"), new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
		new VertexAttribute(Usage.Generic, 1, "s"));
	setMesh();
}
 
开发者ID:Quexten,项目名称:RavTech,代码行数:34,代码来源:RavChainLight.java

示例5: PolygonSpriteBatch

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/** Constructs a new PolygonSpriteBatch. Sets the projection matrix to an orthographic projection with y-axis point upwards,
 * x-axis point to the right and the origin being in the bottom left corner of the screen. The projection will be pixel perfect
 * with respect to the current screen resolution.
 * <p>
 * The defaultShader specifies the shader to use. Note that the names for uniforms for this default shader are different than
 * the ones expect for shaders set with {@link #setShader(ShaderProgram)}. See {@link SpriteBatch#createDefaultShader()}.
 * @param size The max number of vertices and number of triangles in a single batch. Max of 10920.
 * @param defaultShader The default shader to use. This is not owned by the PolygonSpriteBatch and must be disposed separately. */
public PolygonSpriteBatch (int size, ShaderProgram defaultShader) {
	// 32767 is max index, so 32767 / 3 - (32767 / 3 % 3) = 10920.
	if (size > 10920) throw new IllegalArgumentException("Can't have more than 10920 triangles per batch: " + size);

	mesh = new Mesh(VertexDataType.VertexArray, false, size, size * 3, new VertexAttribute(Usage.Position, 2,
		ShaderProgram.POSITION_ATTRIBUTE), new VertexAttribute(Usage.ColorPacked, 4, ShaderProgram.COLOR_ATTRIBUTE),
		new VertexAttribute(Usage.TextureCoordinates, 2, ShaderProgram.TEXCOORD_ATTRIBUTE + "0"));

	vertices = new float[size * VERTEX_SIZE];
	triangles = new short[size * 3];

	if (defaultShader == null) {
		shader = SpriteBatch.createDefaultShader();
		ownsShader = true;
	} else
		shader = defaultShader;

	projectionMatrix.setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:28,代码来源:PolygonSpriteBatch.java

示例6: init

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
private void init(String tex0, float w, float h) {
    setTexture0(tex0);

    // Init comparator
    comp = new DistToCameraComparator<IRenderable>();
    // Init vertices
    float[] vertices = new float[20];
    fillVertices(vertices, w, h);

    // We wont need indices if we use GL_TRIANGLE_FAN to draw our quad
    // TRIANGLE_FAN will draw the verts in this order: 0, 1, 2; 0, 2, 3
    mesh = new Mesh(VertexDataType.VertexArray, true, 4, 6, new VertexAttribute(Usage.Position, 2, ShaderProgram.POSITION_ATTRIBUTE), new VertexAttribute(Usage.ColorPacked, 4, ShaderProgram.COLOR_ATTRIBUTE), new VertexAttribute(Usage.TextureCoordinates, 2, ShaderProgram.TEXCOORD_ATTRIBUTE + "0"));

    mesh.setVertices(vertices, 0, vertices.length);
    mesh.getIndicesBuffer().position(0);
    mesh.getIndicesBuffer().limit(6);

    short[] indices = new short[] { 0, 1, 2, 0, 2, 3 };
    mesh.setIndices(indices);

    quaternion = new Quaternion();
    aux = new Vector3();

}
 
开发者ID:langurmonkey,项目名称:gaiasky,代码行数:25,代码来源:BillboardStarRenderSystem.java

示例7: init

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
private void init(float w, float h) {
    // Init comparator
    comp = new DistToCameraComparator<IRenderable>();
    // Init vertices
    float[] vertices = new float[20];
    fillVertices(vertices, w, h);

    // We wont need indices if we use GL_TRIANGLE_FAN to draw our quad
    // TRIANGLE_FAN will draw the verts in this order: 0, 1, 2; 0, 2, 3
    mesh = new Mesh(VertexDataType.VertexArray, true, 4, 6, new VertexAttribute(Usage.Position, 2, ShaderProgram.POSITION_ATTRIBUTE), new VertexAttribute(Usage.ColorPacked, 4, ShaderProgram.COLOR_ATTRIBUTE), new VertexAttribute(Usage.TextureCoordinates, 2, ShaderProgram.TEXCOORD_ATTRIBUTE + "0"));

    mesh.setVertices(vertices, 0, vertices.length);
    mesh.getIndicesBuffer().position(0);
    mesh.getIndicesBuffer().limit(6);

    short[] indices = new short[] { 0, 1, 2, 0, 2, 3 };
    mesh.setIndices(indices);

    quaternion = new Quaternion();
    aux = new Vector3();

}
 
开发者ID:langurmonkey,项目名称:gaiasky,代码行数:23,代码来源:BillboardSpriteRenderSystem.java

示例8: DirectionalLight

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/**
 * Directional lights simulate light source that locations is at infinite
 * distance. Direction and intensity is same everywhere. -90 direction is
 * straight from up.
 * 
 * @param rayHandler
 * @param rays
 * @param color
 * @param directionDegree
 */
public DirectionalLight(RayHandler rayHandler, int rays, Color color,
		float directionDegree) {

	super(rayHandler, rays, color, directionDegree, Float.POSITIVE_INFINITY);

	vertexNum = (vertexNum - 1) * 2;

	start = new Vector2[rayNum];
	end = new Vector2[rayNum];
	for (int i = 0; i < rayNum; i++) {
		start[i] = new Vector2();
		end[i] = new Vector2();
	}
	setDirection(direction);

	lightMesh = new Mesh(VertexDataType.VertexArray, staticLight, vertexNum, 0, new VertexAttribute(
			Usage.Position, 2, "vertex_positions"), new VertexAttribute(
			Usage.ColorPacked, 4, "quad_colors"), new VertexAttribute(
			Usage.Generic, 1, "s"));
	softShadowMesh = new Mesh(VertexDataType.VertexArray,staticLight, vertexNum, 0,
			new VertexAttribute(Usage.Position, 2, "vertex_positions"),
			new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
			new VertexAttribute(Usage.Generic, 1, "s"));
	update();
}
 
开发者ID:underclocker,项目名称:Blob-Game,代码行数:36,代码来源:DirectionalLight.java

示例9: initialize

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
public void initialize(int paramInt)
{
  int i = 0;
  this.vertices = new float[paramInt * 24];
  Mesh.VertexDataType localVertexDataType = Mesh.VertexDataType.VertexArray;
  int j = paramInt * 4;
  int k = paramInt * 6;
  VertexAttribute[] arrayOfVertexAttribute = new VertexAttribute[3];
  arrayOfVertexAttribute[0] = new VertexAttribute(0, 3, "a_position");
  arrayOfVertexAttribute[1] = new VertexAttribute(5, 4, "a_color");
  arrayOfVertexAttribute[2] = new VertexAttribute(3, 2, "a_texCoord0");
  this.mesh = new Mesh(localVertexDataType, false, j, k, arrayOfVertexAttribute);
  short[] arrayOfShort = new short[paramInt * 6];
  for (int m = 0; i < arrayOfShort.length; m += 4)
  {
    arrayOfShort[i] = ((short)m);
    arrayOfShort[(i + 1)] = ((short)(m + 2));
    arrayOfShort[(i + 2)] = ((short)(m + 1));
    arrayOfShort[(i + 3)] = ((short)(m + 1));
    arrayOfShort[(i + 4)] = ((short)(m + 2));
    arrayOfShort[(i + 5)] = ((short)(m + 3));
    i += 6;
  }
  this.mesh.setIndices(arrayOfShort);
}
 
开发者ID:isnuryusuf,项目名称:ingress-indonesia-dev,代码行数:26,代码来源:DecalBatch.java

示例10: PolygonSpriteBatch

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
public PolygonSpriteBatch(int paramInt1, int paramInt2, ShaderProgram paramShaderProgram)
{
  this.buffers = new Mesh[paramInt2];
  for (int i = 0; i < paramInt2; i++)
  {
    Mesh[] arrayOfMesh = this.buffers;
    Mesh.VertexDataType localVertexDataType = Mesh.VertexDataType.VertexArray;
    VertexAttribute[] arrayOfVertexAttribute = new VertexAttribute[3];
    arrayOfVertexAttribute[0] = new VertexAttribute(0, 2, "a_position");
    arrayOfVertexAttribute[1] = new VertexAttribute(5, 4, "a_color");
    arrayOfVertexAttribute[2] = new VertexAttribute(3, 2, "a_texCoord0");
    arrayOfMesh[i] = new Mesh(localVertexDataType, false, paramInt1, 0, arrayOfVertexAttribute);
  }
  this.projectionMatrix.setToOrtho2D(0.0F, 0.0F, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
  this.vertices = new float[paramInt1 * 5];
  this.mesh = this.buffers[0];
  if ((Gdx.graphics.isGL20Available()) && (paramShaderProgram == null))
  {
    this.shader = createDefaultShader();
    this.ownsShader = true;
    return;
  }
  this.shader = paramShaderProgram;
}
 
开发者ID:isnuryusuf,项目名称:ingress-indonesia-dev,代码行数:25,代码来源:PolygonSpriteBatch.java

示例11: CircularDrawingStatic

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
public CircularDrawingStatic(Texture texture, int beginDegrees, int endDegrees) {
	this.texture = texture;
	List<VertexAttribute> list = new ArrayList<>();
	list.add(VertexAttribute.Position());
	list.add(VertexAttribute.ColorUnpacked());
	list.add(VertexAttribute.TexCoords(0));
	
	List<Float> lvert = new ArrayList<>(30);
	int n_vtx = 0;
	lvert.addAll(Arrays.asList(0f, 0f, 0f, 1f, 1f, 1f, 1f, 0.5f, 0.5f));
	n_vtx++;
	Vector2 vert = new Vector2();
	calcAnglePoint(beginDegrees, vert);
	addVertToList(lvert, vert);
	n_vtx++;
	for (int deg = (int)(Math.ceil(beginDegrees / 45.0) * 45); deg < endDegrees / 45 * 45; deg++) {
		n_vtx++;
		calcAnglePoint(deg, vert);
		addVertToList(lvert, vert);
	}
	calcAnglePoint(endDegrees, vert);
	addVertToList(lvert, vert);
	n_vtx++;
	mesh = new Mesh(VertexDataType.VertexArray, false, n_vtx, n_vtx, list.toArray(new VertexAttribute[list.size()]));
	short[] indices = new short[n_vtx];
	for (short i = 0; i < n_vtx; i++) indices[i] = i;
	mesh.setIndices(indices);
	initialVertices = new float[lvert.size()];
	operatedVertices = new float[lvert.size()];
	for (int i = 0; i < initialVertices.length; i++) {
		initialVertices[i] = lvert.get(i);
	}
}
 
开发者ID:cn-s3bit,项目名称:TH902,代码行数:34,代码来源:CircularDrawingStatic.java

示例12: ChainLight

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/**
 * Creates chain light from specified vertices
 * 
 * @param rayHandler
 *            not {@code null} instance of RayHandler
 * @param rays
 *            number of rays - more rays make light to look more realistic
 *            but will decrease performance, can't be less than MIN_RAYS
 * @param color
 *            color, set to {@code null} to use the default color
 * @param distance
 *            distance of light
 * @param rayDirection
 *            direction of rays
 *            <ul>
 *            <li>1 = left</li>
 *            <li>-1 = right</li>
 *            </ul>
 * @param chain
 *            float array of (x, y) vertices from which rays will be
 *            evenly distributed
 */
public ChainLight(RayHandler rayHandler, int rays, Color color,
		float distance, int rayDirection, float[] chain) {
	
	super(rayHandler, rays, color, distance, 0f);
	rayStartOffset = ChainLight.defaultRayStartOffset;
	this.rayDirection = rayDirection;
	vertexNum = (vertexNum - 1) * 2;
	endX = new float[rays];
	endY = new float[rays];
	startX = new float[rays];
	startY = new float[rays];
	this.chain = (chain != null) ?
				 new FloatArray(chain) : new FloatArray();
	
	lightMesh = new Mesh(
			VertexDataType.VertexArray, false, vertexNum, 0,
			new VertexAttribute(Usage.Position, 2, "vertex_positions"),
			new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
			new VertexAttribute(Usage.Generic, 1, "s"));
	softShadowMesh = new Mesh(
			VertexDataType.VertexArray, false, vertexNum * 2,
			0, new VertexAttribute(Usage.Position, 2, "vertex_positions"),
			new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
			new VertexAttribute(Usage.Generic, 1, "s"));
	setMesh();
}
 
开发者ID:bitbrain,项目名称:rbcgj-2016,代码行数:49,代码来源:ChainLight.java

示例13: DirectionalLight

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
/**
 * Creates directional light which source is at infinite distance,
 * direction and intensity is same everywhere
 * 
 * <p>-90 direction is straight from up
 * 
 * @param rayHandler
 *            not {@code null} instance of RayHandler
 * @param rays
 *            number of rays - more rays make light to look more realistic
 *            but will decrease performance, can't be less than MIN_RAYS
 * @param color
 *            color, set to {@code null} to use the default color
 * @param directionDegree
 *            direction in degrees
 */
public DirectionalLight(RayHandler rayHandler, int rays, Color color,
		float directionDegree) {
	
	super(rayHandler, rays, color, Float.POSITIVE_INFINITY, directionDegree);
	
	vertexNum = (vertexNum - 1) * 2;
	start = new Vector2[rayNum];
	end = new Vector2[rayNum];
	for (int i = 0; i < rayNum; i++) {
		start[i] = new Vector2();
		end[i] = new Vector2();
	}
	
	lightMesh = new Mesh(
			VertexDataType.VertexArray, staticLight, vertexNum, 0,
			new VertexAttribute(Usage.Position, 2, "vertex_positions"),
			new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
			new VertexAttribute(Usage.Generic, 1, "s"));
	softShadowMesh = new Mesh(
			VertexDataType.VertexArray, staticLight, vertexNum, 0,
			new VertexAttribute(Usage.Position, 2, "vertex_positions"),
			new VertexAttribute(Usage.ColorPacked, 4, "quad_colors"),
			new VertexAttribute(Usage.Generic, 1, "s"));
	
	update();
}
 
开发者ID:bitbrain,项目名称:rbcgj-2016,代码行数:43,代码来源:DirectionalLight.java

示例14: createFullscreenQuad

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
private Mesh createFullscreenQuad () {
	// vertex coord
	verts[X1] = -1;
	verts[Y1] = -1;

	verts[X2] = 1;
	verts[Y2] = -1;

	verts[X3] = 1;
	verts[Y3] = 1;

	verts[X4] = -1;
	verts[Y4] = 1;

	// tex coords
	verts[U1] = 0f;
	verts[V1] = 0f;

	verts[U2] = 1f;
	verts[V2] = 0f;

	verts[U3] = 1f;
	verts[V3] = 1f;

	verts[U4] = 0f;
	verts[V4] = 1f;

	Mesh tmpMesh = new Mesh(VertexDataType.VertexArray, true, 4, 0, new VertexAttribute(Usage.Position, 2, "a_position"),
		new VertexAttribute(Usage.TextureCoordinates, 2, "a_texCoord0"));

	tmpMesh.setVertices(verts);
	return tmpMesh;
}
 
开发者ID:Osaris31,项目名称:exterminate,代码行数:34,代码来源:FullscreenQuad.java

示例15: createFullscreenQuad

import com.badlogic.gdx.graphics.Mesh.VertexDataType; //导入依赖的package包/类
private Mesh createFullscreenQuad() {
   // vertex coord
   verts[X1] = -1;
   verts[Y1] = -1;

   verts[X2] = 1;
   verts[Y2] = -1;

   verts[X3] = 1;
   verts[Y3] = 1;

   verts[X4] = -1;
   verts[Y4] = 1;

   // tex coords
   verts[U1] = 0f;
   verts[V1] = 0f;

   verts[U2] = 1f;
   verts[V2] = 0f;

   verts[U3] = 1f;
   verts[V3] = 1f;

   verts[U4] = 0f;
   verts[V4] = 1f;

   Mesh tmpMesh = new Mesh(VertexDataType.VertexArray, true, 4, 0,
         new VertexAttribute(Usage.Position, 2, "a_position"),
         new VertexAttribute(Usage.TextureCoordinates, 2, "a_texCoord0"));

   tmpMesh.setVertices(verts);
   return tmpMesh;
}
 
开发者ID:bitbrain,项目名称:braingdx,代码行数:35,代码来源:FullscreenQuad.java


注:本文中的com.badlogic.gdx.graphics.Mesh.VertexDataType类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。