MCPcopy Create free account
hub / github.com/demoth/jake2 / LM_UploadBlock

Method LM_UploadBlock

client/src/main/java/jake2/client/render/fast/Surf.java:1023–1064  ·  view source on GitHub ↗

LM_UploadBlock @param dynamic

( boolean dynamic )

Source from the content-addressed store, hash-verified

1021 * @param dynamic
1022 */
1023 void LM_UploadBlock( boolean dynamic )
1024 {
1025 int texture = ( dynamic ) ? 0 : gl_lms.current_lightmap_texture;
1026
1027 GL_Bind( gl_state.lightmap_textures + texture );
1028 gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
1029 gl.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
1030
1031 gl_lms.lightmap_buffer.rewind();
1032 if ( dynamic )
1033 {
1034 int height = 0;
1035 for (int i = 0; i < BLOCK_WIDTH; i++ )
1036 {
1037 if ( gl_lms.allocated[i] > height )
1038 height = gl_lms.allocated[i];
1039 }
1040
1041 gl.glTexSubImage2D( GL_TEXTURE_2D,
1042 0,
1043 0, 0,
1044 BLOCK_WIDTH, height,
1045 GL_LIGHTMAP_FORMAT,
1046 GL_UNSIGNED_BYTE,
1047 gl_lms.lightmap_buffer );
1048 }
1049 else
1050 {
1051 gl.glTexImage2D( GL_TEXTURE_2D,
1052 0,
1053 gl_lms.internal_format,
1054 BLOCK_WIDTH, BLOCK_HEIGHT,
1055 0,
1056 GL_LIGHTMAP_FORMAT,
1057 GL_UNSIGNED_BYTE,
1058 gl_lms.lightmap_buffer );
1059 if ( ++gl_lms.current_lightmap_texture == MAX_LIGHTMAPS )
1060 Com.Error( Defines.ERR_DROP, "LM_UploadBlock() - MAX_LIGHTMAPS exceeded\n" );
1061
1062 //debugLightmap(gl_lms.lightmap_buffer, 128, 128, 4);
1063 }
1064 }
1065
1066 /**
1067 * LM_AllocBlock

Callers 2

Calls 5

ErrorMethod · 0.95
glTexParameterfMethod · 0.65
glTexSubImage2DMethod · 0.65
glTexImage2DMethod · 0.65
GL_BindMethod · 0.45

Tested by

no test coverage detected