mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-02-20 10:53:22 +00:00
Add documentation
This commit is contained in:
parent
bfab2d3042
commit
2add32b5a8
7 changed files with 109 additions and 25 deletions
|
@ -327,6 +327,95 @@ it's `+set busywait 0` (setting the `busywait` cvar) and `-portable`
|
|||
custom gun field of few is used. Defaults to `8`, which is more or
|
||||
less optimal for the default gun field of view of 80.
|
||||
|
||||
## Graphics (Vulkan only)
|
||||
|
||||
* **vk_validation**: Toggle validation layers:
|
||||
* `0` - disabled (default in Release)
|
||||
* `1` - only errors and warnings
|
||||
* `2` - full validation (default in Debug)
|
||||
|
||||
* **vk_strings**: Print some basic Vulkan/GPU information.
|
||||
|
||||
* **vk_mem**: Print dynamic vertex/index/uniform/triangle fan buffer
|
||||
memory usage statistics.
|
||||
|
||||
* **vk_device**: Specify index of the preferred Vulkan device on systems
|
||||
with multiple GPUs:
|
||||
* `-1` - prefer first DISCRETE_GPU (default)
|
||||
* `0..n` - use device #n (full list of devices is returned by
|
||||
`vk_strings` command)
|
||||
|
||||
* **vk_msaa**: Toggle MSAA:
|
||||
* `0` - off (default)
|
||||
* `1` - MSAAx2
|
||||
* `2` - MSAAx4
|
||||
* `3` - MSAAx8
|
||||
* `4` - MSAAx16
|
||||
|
||||
* **vk_sampleshading**: Toggle sample shading for MSAA. (default: `1`)
|
||||
|
||||
* **vk_flashblend**: Toggle the blending of lights onto the environment.
|
||||
(default: `0`)
|
||||
|
||||
* **vk_polyblend**: Blend fullscreen effects: blood, powerups etc.
|
||||
(default: `1`)
|
||||
|
||||
* **vk_skymip**: Toggle the usage of mipmap information for the sky
|
||||
graphics. (default: `0`)
|
||||
|
||||
* **vk_finish**: Inserts a `vkDeviceWaitIdle()` call on frame render
|
||||
start (default: `0`). Don't use this, it's there just for the sake of
|
||||
having a `gl_finish` equivalent!
|
||||
|
||||
* **vk_point_particles**: Toggle between using POINT_LIST and textured
|
||||
triangles for particle rendering. (default: `1`)
|
||||
|
||||
* **vk_particle_size**: Rendered particle size. (default: `40`)
|
||||
|
||||
* **vk_particle_att_a**: Intensity of the particle A attribute.
|
||||
(default: `0.01`)
|
||||
|
||||
* **vk_particle_att_b**: Intensity of the particle B attribute.
|
||||
(default: `0`)
|
||||
|
||||
* **vk_particle_att_c**: Intensity of the particle C attribute.
|
||||
(default: `0.01`)
|
||||
|
||||
* **vk_particle_min_size**: The minimum size of a rendered particle.
|
||||
(default: `2`)
|
||||
|
||||
* **vk_particle_max_size**: The maximum size of a rendered particle.
|
||||
(default: `40`)
|
||||
|
||||
* **vk_shadows**: Draw experimental entity shadows. (default: `0`)
|
||||
|
||||
* **vk_picmip**: Shrink factor for the textures. (default: `0`)
|
||||
|
||||
* **vk_round_down**: Toggle the rounding of texture sizes. (default: `1`)
|
||||
|
||||
* **vk_dynamic**: Use dynamic lighting. (default: `1`)
|
||||
|
||||
* **vk_showtris**: Display mesh triangles. (default: `0`)
|
||||
|
||||
* **vk_lightmap**: Display lightmaps. (default: `0`)
|
||||
|
||||
* **vk_aniso**: Toggle anisotropic filtering. (default: `1`)
|
||||
|
||||
* **vk_postprocess**: Toggle additional color/gamma correction.
|
||||
(default: `1`)
|
||||
|
||||
* **vk_mip_nearfilter**: Use nearest-neighbor filtering for mipmaps.
|
||||
(default: `0`)
|
||||
|
||||
* **vk_texturemode**: Change current texture filtering mode:
|
||||
* `VK_NEAREST` - nearest-neighbor interpolation, no mipmaps
|
||||
* `VK_LINEAR` - linear interpolation, no mipmaps
|
||||
* `VK_MIPMAP_NEAREST` - nearest-neighbor interpolation with mipmaps
|
||||
* `VK_MIPMAP_LINEAR` - linear interpolation with mipmaps (default)
|
||||
|
||||
* **vk_lmaptexturemode**: Same as `vk_texturemode` but applied to
|
||||
lightmap textures.
|
||||
|
||||
## cvar operations
|
||||
|
||||
cvar operations are special commands that allow the programmatic
|
||||
|
|
|
@ -140,22 +140,21 @@ extern cvar_t *r_novis;
|
|||
extern cvar_t *r_nocull;
|
||||
extern cvar_t *r_lerpmodels;
|
||||
extern cvar_t *r_mode;
|
||||
|
||||
extern cvar_t *r_lockpvs;
|
||||
extern cvar_t *r_modulate;
|
||||
extern cvar_t *r_vsync;
|
||||
extern cvar_t *r_clear;
|
||||
extern cvar_t *r_lightlevel; // FIXME: This is a HACK to get the client's light level
|
||||
|
||||
extern cvar_t *vk_overbrightbits;
|
||||
extern cvar_t *vk_validation;
|
||||
extern cvar_t *vk_bitdepth;
|
||||
extern cvar_t *vk_log;
|
||||
extern cvar_t *vk_picmip;
|
||||
extern cvar_t *vk_skymip;
|
||||
extern cvar_t *vk_round_down;
|
||||
extern cvar_t *vk_flashblend;
|
||||
extern cvar_t *vk_finish;
|
||||
extern cvar_t *vk_clear;
|
||||
extern cvar_t *vk_lockpvs;
|
||||
extern cvar_t *vk_polyblend;
|
||||
extern cvar_t *vk_modulate;
|
||||
extern cvar_t *vk_shadows;
|
||||
extern cvar_t *vk_particle_size;
|
||||
extern cvar_t *vk_particle_att_a;
|
||||
|
@ -171,7 +170,6 @@ extern cvar_t *vk_texturemode;
|
|||
extern cvar_t *vk_lmaptexturemode;
|
||||
extern cvar_t *vk_aniso;
|
||||
extern cvar_t *vk_sampleshading;
|
||||
extern cvar_t *vk_vsync;
|
||||
extern cvar_t *vk_device_idx;
|
||||
extern cvar_t *vk_retexturing;
|
||||
|
||||
|
|
|
@ -1701,7 +1701,7 @@ qboolean QVk_Init(SDL_Window *window)
|
|||
// setup render passes
|
||||
for (int i = 0; i < RP_COUNT; ++i)
|
||||
{
|
||||
vk_renderpasses[i].colorLoadOp = vk_clear->value ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_DONT_CARE;
|
||||
vk_renderpasses[i].colorLoadOp = r_clear->value ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_DONT_CARE;
|
||||
}
|
||||
|
||||
VkSampleCountFlagBits msaaMode = GetSampleCount();
|
||||
|
|
|
@ -274,7 +274,7 @@ int RecursiveLightPoint (mnode_t *node, vec3_t start, vec3_t end)
|
|||
maps++)
|
||||
{
|
||||
for (i=0 ; i<3 ; i++)
|
||||
scale[i] = vk_modulate->value*r_newrefdef.lightstyles[surf->styles[maps]].rgb[i];
|
||||
scale[i] = r_modulate->value*r_newrefdef.lightstyles[surf->styles[maps]].rgb[i];
|
||||
|
||||
pointcolor[0] += lightmap[0] * scale[0] * (1.0/255);
|
||||
pointcolor[1] += lightmap[1] * scale[1] * (1.0/255);
|
||||
|
@ -343,7 +343,7 @@ void R_LightPoint (vec3_t p, vec3_t color)
|
|||
}
|
||||
}
|
||||
|
||||
VectorScale (color, vk_modulate->value, color);
|
||||
VectorScale (color, r_modulate->value, color);
|
||||
}
|
||||
|
||||
|
||||
|
@ -496,7 +496,7 @@ void R_BuildLightMap (msurface_t *surf, byte *dest, int stride)
|
|||
bl = s_blocklights;
|
||||
|
||||
for (i=0 ; i<3 ; i++)
|
||||
scale[i] = vk_modulate->value*r_newrefdef.lightstyles[surf->styles[maps]].rgb[i];
|
||||
scale[i] = r_modulate->value*r_newrefdef.lightstyles[surf->styles[maps]].rgb[i];
|
||||
|
||||
if ( scale[0] == 1.0F &&
|
||||
scale[1] == 1.0F &&
|
||||
|
@ -533,7 +533,7 @@ void R_BuildLightMap (msurface_t *surf, byte *dest, int stride)
|
|||
bl = s_blocklights;
|
||||
|
||||
for (i=0 ; i<3 ; i++)
|
||||
scale[i] = vk_modulate->value*r_newrefdef.lightstyles[surf->styles[maps]].rgb[i];
|
||||
scale[i] = r_modulate->value*r_newrefdef.lightstyles[surf->styles[maps]].rgb[i];
|
||||
|
||||
if ( scale[0] == 1.0F &&
|
||||
scale[1] == 1.0F &&
|
||||
|
|
|
@ -101,10 +101,10 @@ cvar_t *vk_skymip;
|
|||
cvar_t *vk_round_down;
|
||||
cvar_t *vk_flashblend;
|
||||
cvar_t *vk_finish;
|
||||
cvar_t *vk_clear;
|
||||
cvar_t *vk_lockpvs;
|
||||
cvar_t *r_clear;
|
||||
cvar_t *r_lockpvs;
|
||||
cvar_t *vk_polyblend;
|
||||
cvar_t *vk_modulate;
|
||||
cvar_t *r_modulate;
|
||||
cvar_t *vk_shadows;
|
||||
cvar_t *vk_particle_size;
|
||||
cvar_t *vk_particle_att_a;
|
||||
|
@ -123,7 +123,6 @@ cvar_t *vk_lmaptexturemode;
|
|||
cvar_t *vk_aniso;
|
||||
cvar_t *vk_mip_nearfilter;
|
||||
cvar_t *vk_sampleshading;
|
||||
cvar_t *vk_vsync;
|
||||
cvar_t *vk_device_idx;
|
||||
cvar_t *vk_retexturing;
|
||||
|
||||
|
@ -1057,10 +1056,10 @@ void R_Register( void )
|
|||
vk_round_down = ri.Cvar_Get("vk_round_down", "1", 0);
|
||||
vk_flashblend = ri.Cvar_Get("vk_flashblend", "0", 0);
|
||||
vk_finish = ri.Cvar_Get("vk_finish", "0", CVAR_ARCHIVE);
|
||||
vk_clear = ri.Cvar_Get("vk_clear", "0", CVAR_ARCHIVE);
|
||||
vk_lockpvs = ri.Cvar_Get("vk_lockpvs", "0", 0);
|
||||
r_clear = ri.Cvar_Get("r_clear", "0", CVAR_ARCHIVE);
|
||||
r_lockpvs = ri.Cvar_Get("r_lockpvs", "0", 0);
|
||||
vk_polyblend = ri.Cvar_Get("vk_polyblend", "1", 0);
|
||||
vk_modulate = ri.Cvar_Get("vk_modulate", "1", CVAR_ARCHIVE);
|
||||
r_modulate = ri.Cvar_Get("r_modulate", "1", CVAR_ARCHIVE);
|
||||
vk_shadows = ri.Cvar_Get("vk_shadows", "0", CVAR_ARCHIVE);
|
||||
vk_particle_size = ri.Cvar_Get("vk_particle_size", "40", CVAR_ARCHIVE);
|
||||
vk_particle_att_a = ri.Cvar_Get("vk_particle_att_a", "0.01", CVAR_ARCHIVE);
|
||||
|
@ -1079,7 +1078,6 @@ void R_Register( void )
|
|||
vk_aniso = ri.Cvar_Get("vk_aniso", "1", CVAR_ARCHIVE);
|
||||
vk_mip_nearfilter = ri.Cvar_Get("vk_mip_nearfilter", "0", CVAR_ARCHIVE);
|
||||
vk_sampleshading = ri.Cvar_Get("vk_sampleshading", "1", CVAR_ARCHIVE);
|
||||
vk_vsync = ri.Cvar_Get("vk_vsync", "0", CVAR_ARCHIVE);
|
||||
vk_device_idx = ri.Cvar_Get("vk_device", "-1", CVAR_ARCHIVE);
|
||||
vk_retexturing = ri.Cvar_Get("vk_retexturing", "0", CVAR_ARCHIVE);
|
||||
|
||||
|
@ -1150,11 +1148,10 @@ qboolean R_SetMode (void)
|
|||
vid_gamma->modified = false;
|
||||
|
||||
vk_msaa->modified = false;
|
||||
vk_clear->modified = false;
|
||||
r_clear->modified = false;
|
||||
vk_validation->modified = false;
|
||||
vk_mip_nearfilter->modified = false;
|
||||
vk_sampleshading->modified = false;
|
||||
vk_vsync->modified = false;
|
||||
vk_device_idx->modified = false;
|
||||
vk_picmip->modified = false;
|
||||
vk_overbrightbits->modified = false;
|
||||
|
@ -1289,9 +1286,9 @@ void R_BeginFrame( float camera_separation )
|
|||
/*
|
||||
** change modes if necessary
|
||||
*/
|
||||
if (r_mode->modified || vid_fullscreen->modified || vk_msaa->modified || vk_clear->modified || vk_picmip->modified ||
|
||||
if (r_mode->modified || vid_fullscreen->modified || vk_msaa->modified || r_clear->modified || vk_picmip->modified ||
|
||||
vk_validation->modified || vk_texturemode->modified || vk_lmaptexturemode->modified || vk_aniso->modified || vid_gamma->modified ||
|
||||
vk_mip_nearfilter->modified || vk_sampleshading->modified || vk_vsync->modified || vk_device_idx->modified || vk_overbrightbits->modified)
|
||||
vk_mip_nearfilter->modified || vk_sampleshading->modified || r_vsync->modified || vk_device_idx->modified || vk_overbrightbits->modified)
|
||||
{
|
||||
if (vk_texturemode->modified || vk_lmaptexturemode->modified || vk_aniso->modified)
|
||||
{
|
||||
|
|
|
@ -987,7 +987,7 @@ void R_MarkLeaves (void)
|
|||
|
||||
// development aid to let you run around and see exactly where
|
||||
// the pvs ends
|
||||
if (vk_lockpvs->value)
|
||||
if (r_lockpvs->value)
|
||||
return;
|
||||
|
||||
r_visframecount++;
|
||||
|
|
|
@ -145,7 +145,7 @@ VkResult QVk_CreateSwapchain()
|
|||
}
|
||||
|
||||
VkSurfaceFormatKHR swapSurfaceFormat = getSwapSurfaceFormat(surfaceFormats, formatCount);
|
||||
VkPresentModeKHR swapPresentMode = getSwapPresentMode(presentModes, presentModesCount, vk_vsync->value > 0 ? VK_PRESENT_MODE_FIFO_KHR : VK_PRESENT_MODE_MAILBOX_KHR);
|
||||
VkPresentModeKHR swapPresentMode = getSwapPresentMode(presentModes, presentModesCount, r_vsync->value > 0 ? VK_PRESENT_MODE_FIFO_KHR : VK_PRESENT_MODE_MAILBOX_KHR);
|
||||
free(surfaceFormats);
|
||||
free(presentModes);
|
||||
|
||||
|
|
Loading…
Reference in a new issue