Merge vk_point_particles with vk_particle_square to vk_custom_particles

This commit is contained in:
Denis Pauk 2020-09-13 11:52:10 +03:00 committed by Yamagi
parent 7be20ac1cd
commit 832d9666d4
3 changed files with 12 additions and 16 deletions

View file

@ -332,7 +332,7 @@ it's `+set busywait 0` (setting the `busywait` cvar) and `-portable`
* **vk_validation**: Toggle validation layers: * **vk_validation**: Toggle validation layers:
* `0` - disabled (default in Release) * `0` - disabled (default in Release)
* `1` - only errors and warnings * `1` - only errors and warnings
* `2` - full validation (default in Debug) * `2` - best-practices validation
* **vk_strings**: Print some basic Vulkan/GPU information. * **vk_strings**: Print some basic Vulkan/GPU information.
@ -367,11 +367,10 @@ it's `+set busywait 0` (setting the `busywait` cvar) and `-portable`
start (default: `0`). Don't use this, it's there just for the sake of start (default: `0`). Don't use this, it's there just for the sake of
having a `gl_finish` equivalent! having a `gl_finish` equivalent!
* **vk_particle_square**: If set to `1` particles are rendered as * **vk_custom_particles**: Toggle particles type:
squares. * `0` - textured triangles for particle rendering
* `1` - between using POINT_LIST (default)
* **vk_point_particles**: Toggle between using POINT_LIST and textured * `2` - textured square for particle rendering
triangles for particle rendering. (default: `1`)
* **vk_particle_size**: Rendered particle size. (default: `40`) * **vk_particle_size**: Rendered particle size. (default: `40`)

View file

@ -156,8 +156,7 @@ extern cvar_t *vk_particle_att_b;
extern cvar_t *vk_particle_att_c; extern cvar_t *vk_particle_att_c;
extern cvar_t *vk_particle_min_size; extern cvar_t *vk_particle_min_size;
extern cvar_t *vk_particle_max_size; extern cvar_t *vk_particle_max_size;
extern cvar_t *vk_point_particles; extern cvar_t *vk_custom_particles;
extern cvar_t *vk_particle_square;
extern cvar_t *vk_dynamic; extern cvar_t *vk_dynamic;
extern cvar_t *vk_msaa; extern cvar_t *vk_msaa;
extern cvar_t *vk_showtris; extern cvar_t *vk_showtris;

View file

@ -115,8 +115,7 @@ cvar_t *vk_particle_att_b;
cvar_t *vk_particle_att_c; cvar_t *vk_particle_att_c;
cvar_t *vk_particle_min_size; cvar_t *vk_particle_min_size;
cvar_t *vk_particle_max_size; cvar_t *vk_particle_max_size;
cvar_t *vk_point_particles; cvar_t *vk_custom_particles;
cvar_t *vk_particle_square;
cvar_t *vk_postprocess; cvar_t *vk_postprocess;
cvar_t *vk_dynamic; cvar_t *vk_dynamic;
cvar_t *vk_msaa; cvar_t *vk_msaa;
@ -406,7 +405,7 @@ void R_DrawEntitiesOnList (void)
** Vk_DrawParticles ** Vk_DrawParticles
** **
*/ */
void Vk_DrawParticles(int num_particles, const particle_t particles[], const unsigned colortable[768], int particle_square) void Vk_DrawParticles(int num_particles, const particle_t particles[], const unsigned colortable[768])
{ {
typedef struct { typedef struct {
float x,y,z,r,g,b,a,u,v; float x,y,z,r,g,b,a,u,v;
@ -498,7 +497,7 @@ void Vk_DrawParticles(int num_particles, const particle_t particles[], const uns
vkCmdPushConstants(vk_activeCmdbuffer, vk_drawTexQuadPipeline.layout, vkCmdPushConstants(vk_activeCmdbuffer, vk_drawTexQuadPipeline.layout,
VK_SHADER_STAGE_FRAGMENT_BIT, 17 * sizeof(float), sizeof(gamma), &gamma); VK_SHADER_STAGE_FRAGMENT_BIT, 17 * sizeof(float), sizeof(gamma), &gamma);
if (particle_square) if (vk_custom_particles->value == 2)
{ {
vkCmdBindDescriptorSets(vk_activeCmdbuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, vkCmdBindDescriptorSets(vk_activeCmdbuffer, VK_PIPELINE_BIND_POINT_GRAPHICS,
vk_drawParticlesPipeline.layout, 0, 1, vk_drawParticlesPipeline.layout, 0, 1,
@ -522,7 +521,7 @@ R_DrawParticles
*/ */
void R_DrawParticles (void) void R_DrawParticles (void)
{ {
if (vk_point_particles->value) if (vk_custom_particles->value == 1)
{ {
int i; int i;
unsigned char color[4]; unsigned char color[4];
@ -588,7 +587,7 @@ void R_DrawParticles (void)
} }
else else
{ {
Vk_DrawParticles(r_newrefdef.num_particles, r_newrefdef.particles, d_8to24table, vk_particle_square->value); Vk_DrawParticles(r_newrefdef.num_particles, r_newrefdef.particles, d_8to24table);
} }
} }
@ -1158,8 +1157,7 @@ R_Register( void )
vk_particle_att_c = ri.Cvar_Get("vk_particle_att_c", "0.01", CVAR_ARCHIVE); vk_particle_att_c = ri.Cvar_Get("vk_particle_att_c", "0.01", CVAR_ARCHIVE);
vk_particle_min_size = ri.Cvar_Get("vk_particle_min_size", "2", CVAR_ARCHIVE); vk_particle_min_size = ri.Cvar_Get("vk_particle_min_size", "2", CVAR_ARCHIVE);
vk_particle_max_size = ri.Cvar_Get("vk_particle_max_size", "40", CVAR_ARCHIVE); vk_particle_max_size = ri.Cvar_Get("vk_particle_max_size", "40", CVAR_ARCHIVE);
vk_point_particles = ri.Cvar_Get("vk_point_particles", "1", CVAR_ARCHIVE); vk_custom_particles = ri.Cvar_Get("vk_custom_particles", "1", CVAR_ARCHIVE);
vk_particle_square = ri.Cvar_Get("vk_particle_square", "1", CVAR_ARCHIVE);
vk_postprocess = ri.Cvar_Get("vk_postprocess", "1", CVAR_ARCHIVE); vk_postprocess = ri.Cvar_Get("vk_postprocess", "1", CVAR_ARCHIVE);
vk_dynamic = ri.Cvar_Get("vk_dynamic", "1", 0); vk_dynamic = ri.Cvar_Get("vk_dynamic", "1", 0);
vk_msaa = ri.Cvar_Get("vk_msaa", "0", CVAR_ARCHIVE); vk_msaa = ri.Cvar_Get("vk_msaa", "0", CVAR_ARCHIVE);