static client() { int kk; for (kk = 0; kk < MAX_EFRAGS; kk++) { cl_efrags[kk] = new render.efrag_t(); } for (kk = 0; kk < quakedef.MAX_EDICTS; kk++) { cl_entities[kk] = new render.entity_t(); } for (kk = 0; kk < MAX_STATIC_ENTITIES; kk++) { cl_static_entities[kk] = new render.entity_t(); } for (kk = 0; kk < MAX_TEMP_ENTITIES; kk++) { cl_temp_entities[kk] = new render.entity_t(); } for (kk = 0; kk < quakedef.MAX_LIGHTSTYLES; kk++) { cl_lightstyle[kk] = new lightstyle_t(); } for (kk = 0; kk < MAX_DLIGHTS; kk++) { cl_dlights[kk] = new dlight_t(); } for (kk = 0; kk < MAX_BEAMS; kk++) { cl_beams[kk] = new beam_t(); } }
static client() { int kk; for (kk = 0; kk < MAX_EFRAGS; kk++) cl_efrags[kk] = new render.efrag_t(); for (kk = 0; kk < quakedef.MAX_EDICTS; kk++) cl_entities[kk] = new render.entity_t(); for (kk = 0; kk < MAX_STATIC_ENTITIES; kk++) cl_static_entities[kk] = new render.entity_t(); for (kk = 0; kk < MAX_TEMP_ENTITIES; kk++) cl_temp_entities[kk] = new render.entity_t(); for (kk = 0; kk < quakedef.MAX_LIGHTSTYLES; kk++) cl_lightstyle[kk] = new lightstyle_t(); for (kk = 0; kk < MAX_DLIGHTS; kk++) cl_dlights[kk] = new dlight_t(); for (kk = 0; kk < MAX_BEAMS; kk++) cl_beams[kk] = new beam_t(); }
private void TestMap() { if (refdef == null) { refdef = new refdef_t(); refdef.x = 0; refdef.y = 0; refdef.width = viddef.GetWidth(); refdef.height = viddef.GetHeight(); refdef.fov_x = fov_x; refdef.fov_y = CalcFov(fov_x, refdef.width - 10, refdef.height - 10); refdef.vieworg = new float[] { 0, 0, 0 }; refdef.viewangles[0] = 0; refdef.viewangles[1] = 90; refdef.viewangles[2] = 0; refdef.blend = new float[] { 0F, 0F, 0F, 0F }; refdef.areabits = null; refdef.num_entities = 0; refdef.entities = null; lightstyle_t light = new lightstyle_t(); light.rgb = new float[] { 1F, 1F, 1F }; light.white = 3F; refdef.lightstyles = new lightstyle_t[Defines.MAX_LIGHTSTYLES]; for (int i = 0; i < Defines.MAX_LIGHTSTYLES; i++) { refdef.lightstyles[i] = new lightstyle_t(); refdef.lightstyles[i].rgb = new float[] { 1F, 1F, 1F }; refdef.lightstyles[i].white = 3F; } } refdef.time = Time() * 0.001F; refdef.viewangles[0] += KBD.my * 0.1F; refdef.viewangles[1] -= KBD.mx * 0.1F; refdef.vieworg[0] = 0; refdef.vieworg[1] = -79; refdef.vieworg[2] = -131; refdef.vieworg[0] += 1F / 16; refdef.vieworg[1] += 1F / 16; refdef.vieworg[2] += 1F / 16; re.RenderFrame(refdef); }
private void RunTest() { if (refdef == null) { refdef = new refdef_t(); refdef.x = 0; refdef.y = 0; refdef.width = viddef.GetWidth(); refdef.height = viddef.GetHeight(); refdef.fov_x = (Globals.fov == null) ? this.fov_x : Globals.fov.value; refdef.fov_x = this.fov_x; refdef.fov_y = Math3D.CalcFov(refdef.fov_x, refdef.width, refdef.height); refdef.vieworg = new float[] { 140, -140, 50 }; refdef.viewangles = new float[] { 0, 0, 0 }; refdef.blend = new float[] { 0F, 0F, 0F, 0F }; refdef.areabits = null; ent = new entity_t(); model_t weapon = re.RegisterModel("models/monsters/soldier/tris.md2"); image_t weaponSkin = re.RegisterSkin("models/monsters/soldier/skin.pcx"); ent.model = weapon; ent.skin = weaponSkin; ent.origin = new float[] { -60, 80, 25 }; Math3D.VectorCopy(ent.origin, ent.oldorigin); ent.angles = new float[] { 0, 300, 0 }; refdef.entities = new entity_t[] { ent }; refdef.num_entities = refdef.entities.Length; lightstyle_t light = new lightstyle_t(); light.rgb = new float[] { 1F, 1F, 1F }; light.white = 3F; refdef.lightstyles = new lightstyle_t[Defines.MAX_LIGHTSTYLES]; for (int i = 0; i < Defines.MAX_LIGHTSTYLES; i++) { refdef.lightstyles[i] = new lightstyle_t(); refdef.lightstyles[i].rgb = new float[] { 1F, 1F, 1F }; refdef.lightstyles[i].white = 3F; } refdef.viewangles[1] = 130; refdef.time = Time() * 0.001F; } refdef.viewangles[0] += KBD.my * 0.1F; refdef.viewangles[1] -= KBD.mx * 0.1F; float dt = Time() * 0.001F - refdef.time; if (movePlayer != 0) { float velocity = 150F * dt; Math3D.AngleVectors(refdef.viewangles, vpn, vright, vup); if ((movePlayer & FORWARD_MASK) != 0) { Math3D.VectorMA(refdef.vieworg, -velocity, vpn, refdef.vieworg); } if ((movePlayer & BACKWARD_MASK) != 0) { Math3D.VectorMA(refdef.vieworg, velocity, vpn, refdef.vieworg); } if ((movePlayer & LEFT_MASK) != 0) { Math3D.VectorMA(refdef.vieworg, velocity, vright, refdef.vieworg); } if ((movePlayer & RIGHT_MASK) != 0) { Math3D.VectorMA(refdef.vieworg, -velocity, vright, refdef.vieworg); } refdef.vieworg[0] += 1F / 16; refdef.vieworg[1] += 1F / 16; refdef.vieworg[2] += 1F / 16; } refdef.time = Time() * 0.001F; r_numparticles = 0; float[] diff = new float[] { 0, 0, 0 }; Math3D.VectorSubtract(refdef.vieworg, ent.origin, diff); if (Math3D.VectorLength(diff) < 250 && active_particles.Size() == 0) { RailTrail(ent.origin, refdef.vieworg); } else { if (active_particles.Size() > 0) { ent.frame = (int)((Time() * 0.013F) % 15); Math3D.VectorNormalize(diff); Math3D.Vectoangles(diff, ent.angles); AnimateParticles(); refdef.num_particles = r_numparticles; } else { ent.frame = 0; refdef.num_particles = 0; } } refdef.num_dlights = 0; re.RenderFrame(refdef); }
public virtual void GL_BeginBuildingLightmaps(model_t m) { Int32 i; if (lightstyles == null) { lightstyles = new lightstyle_t[Defines.MAX_LIGHTSTYLES]; for (i = 0; i < lightstyles.Length; i++) { lightstyles[i] = new lightstyle_t(); } } gl_lms.allocated.Fill(0); r_framecount = 1; GL_EnableMultitexture(true); GL_SelectTexture(TextureUnit.Texture1); for (i = 0; i < Defines.MAX_LIGHTSTYLES; i++) { lightstyles[i].rgb[0] = 1; lightstyles[i].rgb[1] = 1; lightstyles[i].rgb[2] = 1; lightstyles[i].white = 3; } r_newrefdef.lightstyles = lightstyles; if (gl_state.lightmap_textures == 0) { gl_state.lightmap_textures = TEXNUM_LIGHTMAPS; } gl_lms.current_lightmap_texture = 1; var format = gl_monolightmap.string_renamed.ToUpper()[0]; if (format == 'A') { gl_lms.internal_format = gl_tex_alpha_format; } else if (format == 'C') { gl_lms.internal_format = gl_tex_alpha_format; } else if (format == 'I') { gl_lms.internal_format = PixelInternalFormat.Intensity8; } else if (format == 'L') { gl_lms.internal_format = PixelInternalFormat.Luminance8; } else { gl_lms.internal_format = gl_tex_solid_format; } GL_Bind(gl_state.lightmap_textures + 0); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, ( Int32 )All.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, ( Int32 )All.Linear); new Pinnable(dummy, (ptr) => { GL.TexImage2D(TextureTarget.Texture2D, 0, gl_lms.internal_format, BLOCK_WIDTH, BLOCK_HEIGHT, 0, GL_LIGHTMAP_FORMAT, PixelType.UnsignedByte, ptr); }); }