private void putVertex( UnpackedBakedQuad.Builder builder, Vec3d normal, double x, double y, double z, TextureAtlasSprite sprite, float u, float v ) { for( int e = 0; e < this.vertexFormat.getElementCount(); e++ ) { switch( this.vertexFormat.getElement( e ).getUsage() ) { case POSITION: builder.put( e, (float) x, (float) y, (float) z, 1.0f ); break; case COLOR: builder.put( e, 1.0f, 1.0f, 1.0f, 1.0f ); break; case UV: if( this.vertexFormat.getElement( e ).getIndex() == 0 ) { u = sprite.getInterpolatedU( u ); v = sprite.getInterpolatedV( v ); builder.put( e, u, v, 0f, 1f ); break; } case NORMAL: builder.put( e, (float) normal.x, (float) normal.y, (float) normal.z, 0f ); break; default: builder.put( e ); break; } } }
break; case UV: if( e.getIndex() == 0 )
@Override public void put( final int element, final float... data ) { final VertexFormatElement e = getVertexFormat().getElement( element ); if ( e.getUsage() == EnumUsage.UV && e.getIndex() == 1 && e.getType() == EnumType.SHORT && data.length >= 2 && hasLightMap ) { final int lvFromData_sky = (int) ( data[0] / maxLightmap ) & 0xf; final int lvFromData_block = (int) ( data[1] / maxLightmap ) & 0xf; lv = Math.max( lvFromData_sky, lv ); lv = Math.max( lvFromData_block, lv ); } }
@Override public void put( final int element, final float... data ) { final VertexFormatElement e = getVertexFormat().getElement( element ); if ( e.getUsage() == EnumUsage.UV && e.getIndex() != 1 ) { sumU += data[0]; sumV += data[1]; ++vertCount; } }
final VertexFormatElement ele = format.getElement( element ); if ( ele.getUsage() == EnumUsage.UV && ele.getIndex() != 1 )
public void setVertexFormat( VertexFormat format ) { hasLightMap = false; int eCount = format.getElementCount(); for ( int x = 0; x < eCount; x++ ) { VertexFormatElement e = format.getElement( x ); if ( e.getUsage() == EnumUsage.UV && e.getIndex() == 1 && e.getType() == EnumType.SHORT ) { hasLightMap = true; } } this.format = format; }
private void postRenderChunk() { final List<VertexFormatElement> elements = DefaultVertexFormats.BLOCK.getElements(); for (final VertexFormatElement element : elements) { final VertexFormatElement.EnumUsage usage = element.getUsage(); final int index = element.getIndex(); switch (usage) { case POSITION: GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); break; case UV: OpenGlHelper.setClientActiveTexture(OpenGlHelper.defaultTexUnit + index); GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); OpenGlHelper.setClientActiveTexture(OpenGlHelper.defaultTexUnit); break; case COLOR: GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); GlStateManager.resetColor(); break; } } }
if ( element.getIndex() == 1 )
final VertexFormatElement ele = format.getElement( element ); if ( ele.getUsage() == EnumUsage.UV && ele.getIndex() != 1 )
final int count = attr.getElementCount(); final int constant = attr.getType().getGlConstant(); final int index = attr.getIndex(); final EnumUsage usage = attr.getUsage();
private void putVertex(UnpackedBakedQuad.Builder builder, Vec3d normal, double x, double y, double z, float u, float v) { for (int e = 0; e < format.getElementCount(); e++) { switch (format.getElement(e).getUsage()) { case POSITION: builder.put(e, (float)x, (float)y, (float)z, 1.0f); break; case COLOR: builder.put(e, 1.0f, 1.0f, 1.0f, 1.0f); break; case UV: if (format.getElement(e).getIndex() == 0) { u = sprite.getInterpolatedU(u); v = sprite.getInterpolatedV(v); builder.put(e, u, v, 0f, 1f); break; } case NORMAL: builder.put(e, (float) normal.x, (float) normal.y, (float) normal.z, 0f); break; default: builder.put(e); break; } } }
protected void putVertex(UnpackedBakedQuad.Builder builder, Vec3d normal, TextureAtlasSprite sprite, double x, double y, double z, float u, float v, int rgbaColor) { for (int e = 0; e < format.getElementCount(); e++) { switch (format.getElement(e).getUsage()) { case POSITION: builder.put(e, (float) x, (float) y, (float) z, 1.0f); break; case COLOR: float red = ((rgbaColor >> 16) & 0xFF) / 255.0f; float green = ((rgbaColor >> 8) & 0xFF) / 255.0f; float blue = ((rgbaColor) & 0xFF) / 255.0f; builder.put(e, red, green, blue, 1.0f); break; case UV: if (format.getElement(e).getIndex() == 0) { u = sprite.getInterpolatedU(u); v = sprite.getInterpolatedV(v); builder.put(e, u, v, 0f, 1f); break; } case NORMAL: builder.put(e, (float) normal.x, (float) normal.y, (float) normal.z, 0f); break; default: builder.put(e); break; } } }
private void putVertex(UnpackedBakedQuad.Builder builder, Vec3d normal, double x, double y, double z, float u, float v, TextureAtlasSprite sprite, float color) { for (int e = 0; e < format.getElementCount(); e++) { switch (format.getElement(e).getUsage()) { case POSITION: builder.put(e, (float)x, (float)y, (float)z, 1.0f); break; case COLOR: builder.put(e, color, color, color, 1.0f); break; case UV: if (format.getElement(e).getIndex() == 0) { u = sprite.getInterpolatedU(u); v = sprite.getInterpolatedV(v); builder.put(e, u, v, 0f, 1f); break; } case NORMAL: builder.put(e, (float) normal.x, (float) normal.y, (float) normal.z, 0f); break; default: builder.put(e); break; } } }
public static void putVertex(UnpackedBakedQuad.Builder builder, Vec3d normal, double x, double y, double z, float u, float v, TextureAtlasSprite sprite) { VertexFormat format = builder.getVertexFormat(); for (int e = 0; e < format.getElementCount(); ++e) { switch (format.getElement(e).getUsage()) { case POSITION: builder.put(e, (float) x, (float) y, (float) z, 1.0f); break; case COLOR: builder.put(e, 1.0f, 1.0f, 1.0f, 1.0f); break; case UV: if (format.getElement(e).getIndex() == 0) { u = sprite.getInterpolatedU((double) u); v = sprite.getInterpolatedV((double) v); builder.put(e, u, v, 0.0F, 1.0F); } break; case NORMAL: builder.put(e, (float) normal.x, (float) normal.y, (float) normal.z, 0.0F); break; default: builder.put(e); break; } } } }
break; case UV: if (e.getIndex() == 0) { builder.put(i, u, v); } else {
if ( element.getIndex() == 1 )
final int i = vertexformatelement.getIndex();
if ( e.getIndex() == 1 )