Cleanup: DRW: Simplify resource id and custom id
This commit is contained in:
committed by
Clément Foucault
parent
edd3781584
commit
5916c39fa4
@@ -12,7 +12,6 @@
|
||||
#endif
|
||||
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_modelmat)
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_resource_handle_new)
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_hair)
|
||||
|
||||
#include "common_hair_lib.glsl" /* TODO rename to curve. */
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#endif
|
||||
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_modelmat)
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_resource_handle_new)
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_pointcloud)
|
||||
|
||||
#include "draw_model_lib.glsl"
|
||||
|
||||
@@ -45,7 +45,7 @@ void forward_lighting_eval(float thickness, out vec3 radiance, out vec3 transmit
|
||||
|
||||
/* TODO(fclem): If transmission (no SSS) is present, we could reduce LIGHT_CLOSURE_EVAL_COUNT
|
||||
* by 1 for this evaluation and skip evaluating the transmission closure twice. */
|
||||
ObjectInfos object_infos = drw_infos[resource_id];
|
||||
ObjectInfos object_infos = drw_infos[drw_resource_id()];
|
||||
uchar receiver_light_set = receiver_light_set_get(object_infos);
|
||||
light_eval_reflection(stack, g_data.P, surface_N, V, vPz, receiver_light_set);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ VERTEX_SHADER_CREATE_INFO(eevee_geom_world)
|
||||
void main()
|
||||
{
|
||||
/* (W)Intel drivers require all varying iface to be written to inside the Vertex shader. */
|
||||
drw_ResourceID_iface.resource_index = 0;
|
||||
drw_ResourceID_iface.resource_index = 0u;
|
||||
|
||||
/* Full-screen triangle. */
|
||||
int v = gl_VertexID % 3;
|
||||
|
||||
@@ -44,9 +44,9 @@ void inflate_bounds(vec3 ls_center, inout vec3 P, inout vec3 lP)
|
||||
|
||||
void main()
|
||||
{
|
||||
DRW_RESOURCE_ID_VARYING_SET
|
||||
drw_ResourceID_iface.resource_index = drw_resource_id();
|
||||
|
||||
ObjectBounds bounds = bounds_buf[resource_id];
|
||||
ObjectBounds bounds = bounds_buf[drw_resource_id()];
|
||||
if (!drw_bounds_are_valid(bounds)) {
|
||||
/* Discard. */
|
||||
gl_Position = vec4(NAN_FLT);
|
||||
|
||||
@@ -59,7 +59,7 @@ void main()
|
||||
if (is_surface_view_aligned) {
|
||||
uint surfel_id = atomicAdd(capture_info_buf.surfel_len, 1u);
|
||||
if (capture_info_buf.do_surfel_output) {
|
||||
ObjectInfos object_infos = drw_infos[resource_id];
|
||||
ObjectInfos object_infos = drw_infos[drw_resource_id()];
|
||||
surfel_buf[surfel_id].position = g_data.P;
|
||||
surfel_buf[surfel_id].normal = gl_FrontFacing ? g_data.Ng : -g_data.Ng;
|
||||
surfel_buf[surfel_id].albedo_front = albedo;
|
||||
|
||||
@@ -62,7 +62,7 @@ void main()
|
||||
float alpha_rcp = safe_rcp(alpha);
|
||||
|
||||
/* Object holdout. */
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
if (flag_test(ob_flag, OBJECT_HOLDOUT)) {
|
||||
/* alpha is set from rejected pixels / dithering. */
|
||||
g_holdout = 1.0;
|
||||
@@ -81,7 +81,7 @@ void main()
|
||||
/* Some render pass can be written during the gbuffer pass. Light passes are written later. */
|
||||
if (imageSize(rp_cryptomatte_img).x > 1) {
|
||||
vec4 cryptomatte_output = vec4(
|
||||
cryptomatte_object_buf[resource_id], node_tree.crypto_hash, 0.0);
|
||||
cryptomatte_object_buf[drw_resource_id()], node_tree.crypto_hash, 0.0);
|
||||
imageStoreFast(rp_cryptomatte_img, out_texel, cryptomatte_output);
|
||||
}
|
||||
output_renderpass_color(uniform_buf.render_pass.position_id, vec4(g_data.P, 1.0));
|
||||
@@ -98,10 +98,10 @@ void main()
|
||||
#if CLOSURE_BIN_COUNT > 2
|
||||
gbuf_data.closure[2] = g_closure_get_resolved(2, alpha_rcp);
|
||||
#endif
|
||||
ObjectInfos object_infos = drw_infos[resource_id];
|
||||
ObjectInfos object_infos = drw_infos[drw_resource_id()];
|
||||
gbuf_data.surface_N = g_data.N;
|
||||
gbuf_data.thickness = thickness;
|
||||
gbuf_data.object_id = resource_id;
|
||||
gbuf_data.object_id = drw_resource_id();
|
||||
gbuf_data.receiver_light_set = receiver_light_set_get(object_infos);
|
||||
|
||||
GBufferWriter gbuf = gbuffer_pack(gbuf_data);
|
||||
|
||||
@@ -54,7 +54,7 @@ void main()
|
||||
|
||||
nodetree_surface(closure_rand);
|
||||
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
if (flag_test(ob_flag, OBJECT_HOLDOUT)) {
|
||||
g_holdout = 1.0 - average(g_transmittance);
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ void main()
|
||||
float alpha_rcp = safe_rcp(alpha);
|
||||
|
||||
/* Object holdout. */
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
if (flag_test(ob_flag, OBJECT_HOLDOUT)) {
|
||||
/* alpha is set from rejected pixels / dithering. */
|
||||
g_holdout = 1.0;
|
||||
@@ -84,7 +84,7 @@ void main()
|
||||
/* Some render pass can be written during the gbuffer pass. Light passes are written later. */
|
||||
if (imageSize(rp_cryptomatte_img).x > 1) {
|
||||
vec4 cryptomatte_output = vec4(
|
||||
cryptomatte_object_buf[resource_id], node_tree.crypto_hash, 0.0);
|
||||
cryptomatte_object_buf[drw_resource_id()], node_tree.crypto_hash, 0.0);
|
||||
imageStoreFast(rp_cryptomatte_img, out_texel, cryptomatte_output);
|
||||
}
|
||||
output_renderpass_color(uniform_buf.render_pass.position_id, vec4(g_data.P, 1.0));
|
||||
@@ -101,10 +101,10 @@ void main()
|
||||
#if CLOSURE_BIN_COUNT > 2
|
||||
gbuf_data.closure[2] = g_closure_get_resolved(2, alpha_rcp);
|
||||
#endif
|
||||
ObjectInfos object_infos = drw_infos[resource_id];
|
||||
ObjectInfos object_infos = drw_infos[drw_resource_id()];
|
||||
gbuf_data.surface_N = g_data.N;
|
||||
gbuf_data.thickness = g_thickness;
|
||||
gbuf_data.object_id = resource_id;
|
||||
gbuf_data.object_id = drw_resource_id();
|
||||
gbuf_data.receiver_light_set = receiver_light_set_get(object_infos);
|
||||
|
||||
GBufferWriter gbuf = gbuffer_pack(gbuf_data);
|
||||
|
||||
@@ -125,7 +125,7 @@ void init_interface()
|
||||
#ifdef GPU_VERTEX_SHADER
|
||||
interp.P = vec3(0.0);
|
||||
interp.N = vec3(0.0);
|
||||
drw_ResourceID_iface.resource_index = resource_id;
|
||||
drw_ResourceID_iface.resource_index = drw_resource_id();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ vec4 velocity_resolve(sampler2D vector_tx, ivec2 texel, float depth)
|
||||
*/
|
||||
void velocity_local_pos_get(vec3 lP, int vert_id, out vec3 lP_prev, out vec3 lP_next)
|
||||
{
|
||||
VelocityIndex vel = velocity_indirection_buf[resource_id];
|
||||
VelocityIndex vel = velocity_indirection_buf[drw_resource_id()];
|
||||
lP_next = lP_prev = lP;
|
||||
if (vel.geo.do_deform) {
|
||||
if (vel.geo.ofs[STEP_PREVIOUS] != -1) {
|
||||
@@ -133,7 +133,7 @@ void velocity_local_pos_get(vec3 lP, int vert_id, out vec3 lP_prev, out vec3 lP_
|
||||
void velocity_vertex(
|
||||
vec3 lP_prev, vec3 lP, vec3 lP_next, out vec3 motion_prev, out vec3 motion_next)
|
||||
{
|
||||
VelocityIndex vel = velocity_indirection_buf[resource_id];
|
||||
VelocityIndex vel = velocity_indirection_buf[drw_resource_id()];
|
||||
mat4 obmat_prev = velocity_obj_prev_buf[vel.obj.ofs[STEP_PREVIOUS]];
|
||||
mat4 obmat_next = velocity_obj_next_buf[vel.obj.ofs[STEP_NEXT]];
|
||||
vec3 P_prev = transform_point(obmat_prev, lP_prev);
|
||||
|
||||
@@ -78,7 +78,6 @@ FRAGMENT_SOURCE("gpencil_frag.glsl")
|
||||
DEPTH_WRITE(DepthWrite::ANY)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_gpencil)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -236,7 +236,6 @@ VERTEX_SOURCE("overlay_armature_stick_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_armature_stick_frag.glsl")
|
||||
ADDITIONAL_INFO(overlay_frag_output)
|
||||
ADDITIONAL_INFO(overlay_armature_common)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
STORAGE_BUF(0, READ, BoneStickData, data_buf[])
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -278,7 +277,6 @@ VERTEX_SOURCE("overlay_armature_wire_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_armature_wire_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(overlay_frag_output)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
STORAGE_BUF(0, READ, VertexData, data_buf[])
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -22,7 +22,7 @@ UNIFORM_BUF_FREQ(OVERLAY_GLOBALS_SLOT, GlobalsUboStorage, globalsBlock, PASS)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_INTERFACE_INFO(select_id_patch_iface)
|
||||
FLAT(INT, select_id)
|
||||
FLAT(UINT, select_id)
|
||||
GPU_SHADER_INTERFACE_END()
|
||||
|
||||
/* Used to patch overlay shaders. */
|
||||
@@ -33,7 +33,7 @@ VERTEX_OUT(select_id_patch_iface)
|
||||
EARLY_FRAGMENT_TEST(true)
|
||||
UNIFORM_BUF(SELECT_DATA, SelectInfoData, select_info_buf)
|
||||
/* Select IDs for instanced draw-calls not using #PassMain. */
|
||||
STORAGE_BUF(SELECT_ID_IN, READ, int, in_select_buf[])
|
||||
STORAGE_BUF(SELECT_ID_IN, READ, uint, in_select_buf[])
|
||||
/* Stores the result of the whole selection drawing. Content depends on selection mode. */
|
||||
STORAGE_BUF(SELECT_ID_OUT, READ_WRITE, uint, out_select_buf[])
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -64,7 +64,6 @@ VERTEX_SOURCE("overlay_edit_mesh_depth_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_depth_only_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -88,7 +87,6 @@ FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_common)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -123,7 +121,6 @@ VERTEX_SOURCE("overlay_edit_mesh_edge_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_edit_mesh_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_common)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -141,7 +138,6 @@ FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_common)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -158,7 +154,6 @@ VERTEX_OUT(overlay_edit_flat_color_iface)
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_common)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -185,7 +180,6 @@ DO_STATIC_COMPILATION()
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_normal)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(1, READ, float, pos[], GEOMETRY)
|
||||
@@ -201,7 +195,6 @@ DO_STATIC_COMPILATION()
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_normal)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(1, READ, float, pos[], GEOMETRY)
|
||||
@@ -217,7 +210,6 @@ DO_STATIC_COMPILATION()
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_normal)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(1, READ, float, pos[], GEOMETRY)
|
||||
@@ -233,7 +225,6 @@ DO_STATIC_COMPILATION()
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_normal)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(1, READ, float, pos[], GEOMETRY)
|
||||
@@ -249,7 +240,6 @@ DO_STATIC_COMPILATION()
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_normal)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(1, READ, float, pos[], GEOMETRY)
|
||||
@@ -264,7 +254,6 @@ DO_STATIC_COMPILATION()
|
||||
ADDITIONAL_INFO(overlay_edit_mesh_normal)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(1, READ, float, pos[], GEOMETRY)
|
||||
@@ -291,7 +280,6 @@ VERTEX_SOURCE("overlay_edit_mesh_analysis_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_edit_mesh_analysis_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -305,7 +293,6 @@ VERTEX_SOURCE("overlay_edit_mesh_skin_root_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
/* TODO(fclem): Use correct vertex format. For now we read the format manually. */
|
||||
STORAGE_BUF_FREQ(0, READ, float, size[], GEOMETRY)
|
||||
@@ -344,7 +331,6 @@ VERTEX_SOURCE("overlay_edit_uv_edges_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_edit_uv_edges_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -360,7 +346,6 @@ VERTEX_SOURCE("overlay_edit_uv_faces_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -375,7 +360,6 @@ VERTEX_SOURCE("overlay_edit_uv_face_dots_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -398,7 +382,6 @@ VERTEX_SOURCE("overlay_edit_uv_verts_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_edit_uv_verts_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -471,7 +454,6 @@ VERTEX_IN(1, FLOAT, ratio)
|
||||
PUSH_CONSTANT(FLOAT, totalAreaRatio)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(overlay_edit_uv_stretching)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -483,7 +465,6 @@ VERTEX_IN(1, VEC2, uv_angles)
|
||||
VERTEX_IN(2, FLOAT, angle)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(overlay_edit_uv_stretching)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -512,7 +493,6 @@ VERTEX_SOURCE("overlay_edit_curve_handle_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -532,7 +512,6 @@ VERTEX_SOURCE("overlay_edit_curve_point_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -551,7 +530,6 @@ VERTEX_SOURCE("overlay_edit_curve_wire_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -575,7 +553,6 @@ VERTEX_SOURCE("overlay_edit_curve_normals_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -604,7 +581,6 @@ VERTEX_SOURCE("overlay_edit_curves_handle_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -633,7 +609,6 @@ VERTEX_SOURCE("overlay_edit_particle_point_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -655,7 +630,6 @@ FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
VERTEX_SOURCE("overlay_edit_lattice_point_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -672,7 +646,6 @@ FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
VERTEX_SOURCE("overlay_edit_lattice_wire_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -697,7 +670,6 @@ VERTEX_SOURCE("overlay_edit_particle_strand_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -722,7 +694,6 @@ VERTEX_SOURCE("overlay_edit_particle_point_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -743,7 +714,6 @@ FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
VERTEX_SOURCE("overlay_edit_pointcloud_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -763,7 +733,6 @@ VERTEX_SOURCE("overlay_depth_only_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_depth_only_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_depth_mesh, overlay_depth_mesh_base)
|
||||
@@ -776,7 +745,6 @@ FRAGMENT_SOURCE("overlay_depth_only_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_depth_mesh_conservative,
|
||||
@@ -802,7 +770,6 @@ DEPTH_WRITE(DepthWrite::ANY)
|
||||
PUSH_CONSTANT(BOOL, gpStrokeOrder3d) /* TODO(fclem): Move to a GPencil object UBO. */
|
||||
PUSH_CONSTANT(VEC4, gpDepthPlane) /* TODO(fclem): Move to a GPencil object UBO. */
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_gpencil)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
@@ -816,7 +783,6 @@ FRAGMENT_SOURCE("overlay_depth_only_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_pointcloud)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_depth_pointcloud, overlay_depth_pointcloud_base)
|
||||
@@ -827,7 +793,6 @@ FRAGMENT_SOURCE("overlay_depth_only_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_hair)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
OVERLAY_INFO_VARIATIONS_MODELMAT(overlay_depth_curves, overlay_depth_curves_base)
|
||||
@@ -849,7 +814,6 @@ VERTEX_SOURCE("overlay_depth_only_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_uniform_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -71,7 +71,6 @@ FRAGMENT_OUT(0, VEC4, fragColor)
|
||||
VERTEX_SOURCE("overlay_extra_lightprobe_grid_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -123,7 +122,6 @@ PUSH_CONSTANT(INT, colorid)
|
||||
DEFINE_VALUE("pos", "data_buf[gl_VertexID].pos_.xyz")
|
||||
DEFINE_VALUE("color", "data_buf[gl_VertexID].color_")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -141,7 +139,6 @@ VERTEX_SOURCE("overlay_extra_wire_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_extra_wire_frag.glsl")
|
||||
DEFINE("OBJECT_WIRE")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -270,7 +267,6 @@ FRAGMENT_OUT(0, VEC4, fragColor)
|
||||
VERTEX_SOURCE("overlay_image_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_image_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -331,7 +327,6 @@ FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
VERTEX_SOURCE("overlay_particle_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_particle_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -350,7 +345,6 @@ FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
VERTEX_SOURCE("overlay_particle_shape_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_particle_shape_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -370,7 +364,6 @@ VERTEX_SOURCE("overlay_particle_hair_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_particle_shape_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ VERTEX_SOURCE("overlay_facing_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_facing_frag.glsl")
|
||||
FRAGMENT_OUT(0, VEC4, fragColor)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@ VERTEX_SOURCE("overlay_edit_uv_tiled_image_borders_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_grid_background_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
DEFINE_VALUE("tile_pos", "vec3(0.0)")
|
||||
PUSH_CONSTANT(VEC3, tile_scale)
|
||||
@@ -61,7 +60,6 @@ VERTEX_SOURCE("overlay_edit_uv_tiled_image_borders_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_uniform_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
STORAGE_BUF(0, READ, vec3, tile_pos_buf[])
|
||||
DEFINE_VALUE("tile_pos", "tile_pos_buf[gl_InstanceID]")
|
||||
|
||||
@@ -48,7 +48,6 @@ VERTEX_IN(0, VEC3, pos)
|
||||
VERTEX_SOURCE("overlay_outline_prepass_vert.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
ADDITIONAL_INFO(overlay_outline_prepass)
|
||||
@@ -65,7 +64,6 @@ DO_STATIC_COMPILATION()
|
||||
VERTEX_SOURCE("overlay_outline_prepass_curves_vert.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_hair)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
@@ -80,7 +78,6 @@ ADDITIONAL_INFO(overlay_outline_prepass)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_mesh)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
STORAGE_BUF_FREQ(0, READ, float, pos[], GEOMETRY)
|
||||
PUSH_CONSTANT(IVEC2, gpu_attr_0)
|
||||
@@ -114,7 +111,6 @@ FRAGMENT_SOURCE("overlay_outline_prepass_gpencil_frag.glsl")
|
||||
DEPTH_WRITE(DepthWrite::ANY)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_gpencil)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
@@ -127,7 +123,6 @@ DO_STATIC_COMPILATION()
|
||||
VERTEX_SOURCE("overlay_outline_prepass_pointcloud_vert.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_pointcloud)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
|
||||
@@ -29,7 +29,6 @@ VERTEX_SOURCE("overlay_paint_face_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_uniform_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -57,7 +56,6 @@ VERTEX_SOURCE("overlay_paint_point_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_point_varying_color_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -90,7 +88,6 @@ VERTEX_SOURCE("overlay_paint_texture_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_paint_texture_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -125,7 +122,6 @@ VERTEX_SOURCE("overlay_paint_weight_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_paint_weight_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -164,7 +160,6 @@ VERTEX_SOURCE("overlay_paint_wire_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_varying_color.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ FRAGMENT_SOURCE("overlay_sculpt_curves_selection_frag.glsl")
|
||||
FRAGMENT_OUT(0, VEC4, out_color)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
ADDITIONAL_INFO(draw_hair)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -56,7 +55,6 @@ VERTEX_SOURCE("overlay_sculpt_curves_cage_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_extra_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@ FRAGMENT_SOURCE("overlay_sculpt_mask_frag.glsl")
|
||||
FRAGMENT_OUT(0, VEC4, fragColor)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -45,7 +45,6 @@ FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
DEPTH_WRITE(DepthWrite::ANY)
|
||||
SPECIALIZATION_CONSTANT(BOOL, use_custom_depth_bias, true)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -66,7 +65,6 @@ FRAGMENT_SOURCE("overlay_wireframe_frag.glsl")
|
||||
FRAGMENT_OUT(0, VEC4, fragColor)
|
||||
FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -91,7 +89,6 @@ FRAGMENT_SOURCE("overlay_wireframe_frag.glsl")
|
||||
FRAGMENT_OUT(0, VEC4, fragColor)
|
||||
FRAGMENT_OUT(1, VEC4, lineOutput)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -122,7 +119,6 @@ VERTEX_SOURCE("overlay_edit_uv_edges_vert.glsl")
|
||||
FRAGMENT_SOURCE("overlay_edit_uv_edges_frag.glsl")
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_globals)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
@@ -14,7 +14,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_depth_curves)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
bool is_persp = (ProjectionMatrix[3][3] == 0.0);
|
||||
float time, thick_time, thickness;
|
||||
|
||||
@@ -36,5 +36,5 @@ void main()
|
||||
|
||||
view_clipping_distances(world_pos);
|
||||
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ void geometry_main(VertOut geom_in[3],
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
/* Triangle list primitive. */
|
||||
const uint input_primitive_vertex_count = 3u;
|
||||
|
||||
@@ -14,7 +14,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_depth_pointcloud)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
vec3 world_pos, world_nor;
|
||||
float world_radius;
|
||||
|
||||
@@ -13,7 +13,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_depth_mesh)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
vec3 world_pos = drw_point_object_to_world(pos);
|
||||
gl_Position = drw_point_world_to_homogenous(world_pos);
|
||||
|
||||
@@ -34,7 +34,7 @@ vec4 color_from_id(float color_id)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
mat4 model_mat = gridModelMatrix;
|
||||
model_mat[0][3] = model_mat[1][3] = model_mat[2][3] = 0.0;
|
||||
model_mat[3][3] = 1.0;
|
||||
|
||||
@@ -20,7 +20,7 @@ vec2 screen_position(vec4 p)
|
||||
void main()
|
||||
{
|
||||
#ifdef OBJECT_WIRE
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
#else
|
||||
select_id_set(in_select_buf[gl_InstanceID]);
|
||||
#endif
|
||||
|
||||
@@ -14,7 +14,7 @@ VERTEX_SHADER_CREATE_INFO(draw_modelmat)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
vec3 world_pos = drw_point_object_to_world(pos);
|
||||
if (isCameraBackground) {
|
||||
/* Model matrix converts to view position to avoid jittering (see #91398). */
|
||||
|
||||
@@ -15,7 +15,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_outline_prepass_curves)
|
||||
uint outline_colorid_get()
|
||||
{
|
||||
#ifdef OBINFO_NEW
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
#else
|
||||
int flag = int(abs(ObjectInfo.w));
|
||||
@@ -82,7 +82,7 @@ void main()
|
||||
gl_Position.z -= 1e-3;
|
||||
|
||||
/* ID 0 is nothing (background) */
|
||||
interp.ob_id = uint(resource_handle + 1);
|
||||
interp.ob_id = uint(drw_resource_id() + 1);
|
||||
|
||||
/* Should be 2 bits only [0..3]. */
|
||||
uint outline_id = outline_colorid_get();
|
||||
|
||||
@@ -14,7 +14,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_outline_prepass_gpencil)
|
||||
uint outline_colorid_get()
|
||||
{
|
||||
#ifdef OBINFO_NEW
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
#else
|
||||
int flag = int(abs(ObjectInfo.w));
|
||||
@@ -62,7 +62,7 @@ void main()
|
||||
gl_Position.z -= 1e-3;
|
||||
|
||||
/* ID 0 is nothing (background) */
|
||||
interp.ob_id = uint(resource_handle + 1);
|
||||
interp.ob_id = uint(drw_resource_id() + 1);
|
||||
|
||||
/* Should be 2 bits only [0..3]. */
|
||||
uint outline_id = outline_colorid_get();
|
||||
|
||||
@@ -15,7 +15,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_outline_prepass_pointcloud)
|
||||
uint outline_colorid_get()
|
||||
{
|
||||
#ifdef OBINFO_NEW
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
#else
|
||||
int flag = int(abs(ObjectInfo.w));
|
||||
@@ -50,7 +50,7 @@ void main()
|
||||
gl_Position.z -= 1e-3;
|
||||
|
||||
/* ID 0 is nothing (background) */
|
||||
interp.ob_id = uint(resource_handle + 1);
|
||||
interp.ob_id = uint(drw_resource_id() + 1);
|
||||
|
||||
/* Should be 2 bits only [0..3]. */
|
||||
uint outline_id = outline_colorid_get();
|
||||
|
||||
@@ -14,7 +14,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_outline_prepass_mesh)
|
||||
uint outline_colorid_get()
|
||||
{
|
||||
#ifdef OBINFO_NEW
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
#else
|
||||
int flag = int(abs(ObjectInfo.w));
|
||||
@@ -52,7 +52,7 @@ void main()
|
||||
gl_Position.z -= 1e-3;
|
||||
|
||||
/* ID 0 is nothing (background) */
|
||||
interp.ob_id = uint(resource_handle + 1);
|
||||
interp.ob_id = uint(drw_resource_id() + 1);
|
||||
|
||||
/* Should be 2 bits only [0..3]. */
|
||||
uint outline_id = outline_colorid_get();
|
||||
|
||||
@@ -15,7 +15,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_outline_prepass_wire)
|
||||
|
||||
uint outline_colorid_get()
|
||||
{
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
|
||||
if (isTransform) {
|
||||
@@ -67,7 +67,7 @@ VertOut vertex_main(VertIn v_in)
|
||||
vert_out.hs_P.z -= 1e-3;
|
||||
|
||||
/* ID 0 is nothing (background) */
|
||||
vert_out.ob_id = uint(resource_handle + 1);
|
||||
vert_out.ob_id = uint(drw_resource_id() + 1);
|
||||
|
||||
/* Should be 2 bits only [0..3]. */
|
||||
uint outline_id = outline_colorid_get();
|
||||
|
||||
@@ -22,7 +22,7 @@ VERTEX_SHADER_CREATE_INFO(overlay_particle_hair)
|
||||
|
||||
void wire_color_get(out vec3 rim_col, out vec3 wire_col)
|
||||
{
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_selected = flag_test(ob_flag, OBJECT_SELECTED);
|
||||
bool is_from_set = flag_test(ob_flag, OBJECT_FROM_SET);
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
@@ -85,7 +85,7 @@ void wire_object_color_get(out vec3 rim_col, out vec3 wire_col)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
vec3 ws_P = drw_point_object_to_world(pos);
|
||||
vec3 ws_N = normalize(drw_normal_object_to_world(-nor));
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
VERTEX_SHADER_CREATE_INFO(overlay_particle_shape)
|
||||
|
||||
#include "draw_model_lib.glsl"
|
||||
#include "draw_view_clipping_lib.glsl"
|
||||
#include "draw_view_lib.glsl"
|
||||
#include "gpu_shader_math_matrix_lib.glsl"
|
||||
@@ -29,7 +30,7 @@ vec2 circle_position(float angle)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
int particle_id = gl_VertexID;
|
||||
int shape_vert_id = gl_VertexID;
|
||||
|
||||
@@ -4,15 +4,16 @@
|
||||
|
||||
#include "infos/overlay_extra_info.hh"
|
||||
|
||||
VERTEX_SHADER_CREATE_INFO(overlay_particle_dot_base)
|
||||
VERTEX_SHADER_CREATE_INFO(overlay_particle_dot)
|
||||
|
||||
#include "draw_model_lib.glsl"
|
||||
#include "draw_view_clipping_lib.glsl"
|
||||
#include "draw_view_lib.glsl"
|
||||
#include "select_lib.glsl"
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
/* Draw-size packed in alpha. */
|
||||
float draw_size = ucolor.a;
|
||||
|
||||
@@ -24,7 +24,7 @@ bool is_edge_sharpness_visible(float wire_data)
|
||||
void wire_color_get(out vec3 rim_col, out vec3 wire_col)
|
||||
{
|
||||
#ifdef OBINFO_NEW
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_selected = flag_test(ob_flag, OBJECT_SELECTED);
|
||||
bool is_from_set = flag_test(ob_flag, OBJECT_FROM_SET);
|
||||
bool is_active = flag_test(ob_flag, OBJECT_ACTIVE);
|
||||
@@ -67,7 +67,7 @@ vec3 hsv_to_rgb(vec3 hsv)
|
||||
void wire_object_color_get(out vec3 rim_col, out vec3 wire_col)
|
||||
{
|
||||
#ifdef OBINFO_NEW
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[resource_id].infos.w));
|
||||
eObjectInfoFlag ob_flag = eObjectInfoFlag(floatBitsToUint(drw_infos[drw_resource_id()].infos.w));
|
||||
bool is_selected = flag_test(ob_flag, OBJECT_SELECTED);
|
||||
#else
|
||||
int flag = int(abs(ObjectInfo.w));
|
||||
@@ -98,7 +98,7 @@ void wire_object_color_get(out vec3 rim_col, out vec3 wire_col)
|
||||
|
||||
void main()
|
||||
{
|
||||
select_id_set(drw_CustomID);
|
||||
select_id_set(drw_custom_id());
|
||||
|
||||
/* If no attribute is available, use a fixed facing value depending on the coloring mode.
|
||||
* This allow to keep most of the contrast between unselected and selected color
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#elif defined(GPU_VERTEX_SHADER)
|
||||
|
||||
void select_id_set(int id)
|
||||
void select_id_set(uint id)
|
||||
{
|
||||
/* Declared in the create info. */
|
||||
select_id = id;
|
||||
@@ -19,7 +19,7 @@ void select_id_set(int id)
|
||||
|
||||
#elif defined(GPU_FRAGMENT_SHADER)
|
||||
|
||||
void select_id_output(int id)
|
||||
void select_id_output(uint id)
|
||||
{
|
||||
if (id == -1) {
|
||||
/* Invalid index */
|
||||
@@ -28,7 +28,7 @@ void select_id_output(int id)
|
||||
|
||||
if (select_info_buf.mode == SELECT_ALL) {
|
||||
/* Set the bit of the select id in the bitmap. */
|
||||
atomicOr(out_select_buf[id / 32u], 1u << (uint(id) % 32u));
|
||||
atomicOr(out_select_buf[id / 32u], 1u << (id % 32u));
|
||||
}
|
||||
else if (select_info_buf.mode == SELECT_PICK_ALL) {
|
||||
/* Stores the nearest depth for this select id. */
|
||||
|
||||
@@ -41,7 +41,6 @@ VERTEX_IN(2, VEC4, ac)
|
||||
VERTEX_IN(3, VEC2, au)
|
||||
VERTEX_SOURCE("workbench_prepass_vert.glsl")
|
||||
ADDITIONAL_INFO(draw_modelmat_with_custom_id)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(workbench_curves)
|
||||
@@ -50,14 +49,12 @@ SAMPLER_FREQ(WB_CURVES_UV_SLOT, FLOAT_BUFFER, au, BATCH)
|
||||
PUSH_CONSTANT(INT, emitter_object_id)
|
||||
VERTEX_SOURCE("workbench_prepass_hair_vert.glsl")
|
||||
ADDITIONAL_INFO(draw_modelmat_with_custom_id)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_hair)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(workbench_pointcloud)
|
||||
VERTEX_SOURCE("workbench_prepass_pointcloud_vert.glsl")
|
||||
ADDITIONAL_INFO(draw_modelmat_with_custom_id)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
ADDITIONAL_INFO(draw_pointcloud)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ TYPEDEF_SOURCE("workbench_shader_shared.h")
|
||||
ADDITIONAL_INFO(gpu_index_buffer_load)
|
||||
ADDITIONAL_INFO(draw_view)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(workbench_shadow_visibility_compute_common)
|
||||
|
||||
@@ -80,7 +80,7 @@ void main()
|
||||
|
||||
normal_interp = normalize(drw_normal_world_to_view(nor));
|
||||
|
||||
workbench_material_data_get(int(drw_CustomID),
|
||||
workbench_material_data_get(int(drw_custom_id()),
|
||||
hair_get_customdata_vec3(ac),
|
||||
color_interp,
|
||||
alpha_interp,
|
||||
@@ -93,7 +93,7 @@ void main()
|
||||
|
||||
workbench_hair_random_material(hair_rand, color_interp, _roughness, metallic);
|
||||
|
||||
object_id = int(uint(resource_handle) & 0xFFFFu) + 1;
|
||||
object_id = int(uint(drw_resource_id()) & 0xFFFFu) + 1;
|
||||
|
||||
if (emitter_object_id != 0) {
|
||||
object_id = int(uint(emitter_object_id) & 0xFFFFu) + 1;
|
||||
|
||||
@@ -32,7 +32,7 @@ void main()
|
||||
uv_interp = vec2(0.0);
|
||||
|
||||
workbench_material_data_get(
|
||||
int(drw_CustomID), vec3(1.0), color_interp, alpha_interp, _roughness, metallic);
|
||||
int(drw_custom_id()), vec3(1.0), color_interp, alpha_interp, _roughness, metallic);
|
||||
|
||||
object_id = int(uint(resource_handle) & 0xFFFFu) + 1;
|
||||
object_id = int(uint(drw_resource_id()) & 0xFFFFu) + 1;
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ void main()
|
||||
|
||||
normal_interp = normalize(drw_normal_object_to_view(nor));
|
||||
|
||||
object_id = int(uint(resource_id) & 0xFFFFu) + 1;
|
||||
object_id = int(uint(drw_resource_id()) & 0xFFFFu) + 1;
|
||||
|
||||
workbench_material_data_get(
|
||||
int(drw_CustomID), ac.rgb, color_interp, alpha_interp, _roughness, metallic);
|
||||
int(drw_custom_id()), ac.rgb, color_interp, alpha_interp, _roughness, metallic);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ VERTEX_SHADER_CREATE_INFO(workbench_volume_smoke)
|
||||
|
||||
void main()
|
||||
{
|
||||
drw_ResourceID_iface.resource_index = resource_id;
|
||||
drw_ResourceID_iface.resource_index = drw_resource_id();
|
||||
|
||||
#ifdef VOLUME_SLICE
|
||||
if (sliceAxis == 0) {
|
||||
|
||||
@@ -85,7 +85,7 @@ uint drw_view_id = 0;
|
||||
(DRW_VIEW_LEN > 2) ? 2 : \
|
||||
1)
|
||||
# define DRW_VIEW_MASK ~(0xFFFFFFFFu << DRW_VIEW_SHIFT)
|
||||
# define DRW_VIEW_FROM_RESOURCE_ID drw_view_id = (uint(drw_ResourceID) & DRW_VIEW_MASK)
|
||||
# define DRW_VIEW_FROM_RESOURCE_ID drw_view_id = (drw_resource_id_raw() & DRW_VIEW_MASK)
|
||||
#endif
|
||||
|
||||
struct FrustumCorners {
|
||||
|
||||
@@ -12,38 +12,65 @@
|
||||
# error Missing draw_modelmat additional create info on shader create info
|
||||
#endif
|
||||
|
||||
#if defined(UNIFORM_RESOURCE_ID)
|
||||
/* TODO(fclem): Legacy API. To remove. */
|
||||
# define resource_id drw_ResourceID
|
||||
# define DRW_RESOURCE_ID_VARYING_SET
|
||||
|
||||
#elif defined(GPU_VERTEX_SHADER)
|
||||
#if defined(GPU_VERTEX_SHADER)
|
||||
VERTEX_SHADER_CREATE_INFO(draw_resource_id_varying)
|
||||
# if defined(UNIFORM_RESOURCE_ID_NEW)
|
||||
# define resource_id (drw_ResourceID >> DRW_VIEW_SHIFT)
|
||||
# else
|
||||
# define resource_id gpu_InstanceIndex
|
||||
# endif
|
||||
# define DRW_RESOURCE_ID_VARYING_SET drw_ResourceID_iface.resource_index = resource_id;
|
||||
|
||||
#elif defined(GPU_GEOMETRY_SHADER)
|
||||
# define resource_id drw_ResourceID_iface_in[0].resource_index
|
||||
|
||||
#elif defined(GPU_FRAGMENT_SHADER)
|
||||
FRAGMENT_SHADER_CREATE_INFO(draw_resource_id_varying)
|
||||
# define resource_id drw_ResourceID_iface.resource_index
|
||||
#elif defined(GPU_LIBRARY_SHADER)
|
||||
SHADER_LIBRARY_CREATE_INFO(draw_resource_id_varying)
|
||||
# define resource_id drw_ResourceID_iface.resource_index
|
||||
#endif
|
||||
|
||||
uint drw_resource_id_raw()
|
||||
{
|
||||
#if defined(GPU_VERTEX_SHADER)
|
||||
# if defined(RESOURCE_ID_FALLBACK)
|
||||
# ifdef WITH_CUSTOM_IDS
|
||||
uint id = in_resource_id.x;
|
||||
# else
|
||||
uint id = in_resource_id;
|
||||
# endif
|
||||
# else
|
||||
# ifdef WITH_CUSTOM_IDS
|
||||
uint id = resource_id_buf[gpu_BaseInstance + gl_InstanceID].x;
|
||||
# else
|
||||
uint id = resource_id_buf[gpu_BaseInstance + gl_InstanceID];
|
||||
# endif
|
||||
# endif
|
||||
return id;
|
||||
|
||||
#elif defined(GPU_FRAGMENT_SHADER) || defined(GPU_LIBRARY_SHADER)
|
||||
return drw_ResourceID_iface.resource_index;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint drw_resource_id()
|
||||
{
|
||||
return drw_resource_id_raw() >> DRW_VIEW_SHIFT;
|
||||
}
|
||||
|
||||
uint drw_custom_id()
|
||||
{
|
||||
#ifdef WITH_CUSTOM_IDS
|
||||
# if defined(GPU_VERTEX_SHADER)
|
||||
# if defined(RESOURCE_ID_FALLBACK)
|
||||
return in_resource_id.y;
|
||||
# else
|
||||
uint inst_id = gpu_BaseInstance + gl_InstanceID;
|
||||
return resource_id_buf[gpu_BaseInstance + gl_InstanceID].y;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
mat4x4 drw_modelmat()
|
||||
{
|
||||
return drw_matrix_buf[resource_id].model;
|
||||
return drw_matrix_buf[drw_resource_id()].model;
|
||||
}
|
||||
mat4x4 drw_modelinv()
|
||||
{
|
||||
return drw_matrix_buf[resource_id].model_inverse;
|
||||
return drw_matrix_buf[drw_resource_id()].model_inverse;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
# define HAIR_SHADER
|
||||
# define DRW_GPENCIL_INFO
|
||||
|
||||
# define OrcoTexCoFactors (drw_infos[resource_id].orco_mul_bias)
|
||||
# define ObjectInfo (drw_infos[resource_id].infos)
|
||||
# define ObjectColor (drw_infos[resource_id].ob_color)
|
||||
# define OrcoTexCoFactors (drw_infos[drw_resource_id()].orco_mul_bias)
|
||||
# define ObjectInfo (drw_infos[drw_resource_id()].infos)
|
||||
# define ObjectColor (drw_infos[drw_resource_id()].ob_color)
|
||||
|
||||
# define ObjectAttributeStart (drw_infos[resource_id].orco_mul_bias[0].w)
|
||||
# define ObjectAttributeLen (drw_infos[resource_id].orco_mul_bias[1].w)
|
||||
# define ObjectAttributeStart (drw_infos[drw_resource_id()].orco_mul_bias[0].w)
|
||||
# define ObjectAttributeLen (drw_infos[drw_resource_id()].orco_mul_bias[1].w)
|
||||
#endif
|
||||
|
||||
#include "draw_defines.hh"
|
||||
@@ -49,17 +49,17 @@ GPU_SHADER_CREATE_INFO(draw_object_infos)
|
||||
TYPEDEF_SOURCE("draw_shader_shared.hh")
|
||||
DEFINE("OBINFO_LIB")
|
||||
DEFINE("OBINFO_NEW")
|
||||
DEFINE_VALUE("OrcoTexCoFactors", "(drw_infos[resource_id].orco_mul_bias)")
|
||||
DEFINE_VALUE("ObjectInfo", "(drw_infos[resource_id].infos)")
|
||||
DEFINE_VALUE("ObjectColor", "(drw_infos[resource_id].ob_color)")
|
||||
DEFINE_VALUE("OrcoTexCoFactors", "(drw_infos[drw_resource_id()].orco_mul_bias)")
|
||||
DEFINE_VALUE("ObjectInfo", "(drw_infos[drw_resource_id()].infos)")
|
||||
DEFINE_VALUE("ObjectColor", "(drw_infos[drw_resource_id()].ob_color)")
|
||||
STORAGE_BUF(DRW_OBJ_INFOS_SLOT, READ, ObjectInfos, drw_infos[])
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
/** \note Requires draw_object_infos. */
|
||||
GPU_SHADER_CREATE_INFO(draw_object_attributes)
|
||||
DEFINE("OBATTR_LIB")
|
||||
DEFINE_VALUE("ObjectAttributeStart", "(drw_infos[resource_id].orco_mul_bias[0].w)")
|
||||
DEFINE_VALUE("ObjectAttributeLen", "(drw_infos[resource_id].orco_mul_bias[1].w)")
|
||||
DEFINE_VALUE("ObjectAttributeStart", "(drw_infos[drw_resource_id()].orco_mul_bias[0].w)")
|
||||
DEFINE_VALUE("ObjectAttributeLen", "(drw_infos[drw_resource_id()].orco_mul_bias[1].w)")
|
||||
STORAGE_BUF(DRW_OBJ_ATTR_SLOT, READ, ObjectAttribute, drw_attrs[])
|
||||
ADDITIONAL_INFO(draw_object_infos)
|
||||
GPU_SHADER_CREATE_END()
|
||||
@@ -109,7 +109,6 @@ GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_volume)
|
||||
ADDITIONAL_INFO(draw_modelmat)
|
||||
ADDITIONAL_INFO(draw_resource_handle_new)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_gpencil)
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
# define DRW_VIEW_CULLING_INFO
|
||||
# define USE_WORLD_CLIP_PLANES
|
||||
|
||||
# define drw_ModelMatrix drw_matrix_buf[resource_id].model
|
||||
# define drw_ModelMatrixInverse drw_matrix_buf[resource_id].model_inverse
|
||||
# define drw_ModelMatrix drw_matrix_buf[drw_resource_id()].model
|
||||
# define drw_ModelMatrixInverse drw_matrix_buf[drw_resource_id()].model_inverse
|
||||
# define drw_view drw_view_[drw_view_id]
|
||||
# define drw_view_culling drw_view_culling_[drw_view_id]
|
||||
# define DRW_VIEW_LEN DRW_VIEW_MAX
|
||||
@@ -39,7 +39,7 @@
|
||||
* IMPORTANT: Vertex shader need to write `drw_ResourceID_iface.resource_index` in main().
|
||||
*/
|
||||
GPU_SHADER_NAMED_INTERFACE_INFO(draw_resource_id_iface, drw_ResourceID_iface)
|
||||
FLAT(INT, resource_index)
|
||||
FLAT(UINT, resource_index)
|
||||
GPU_SHADER_NAMED_INTERFACE_END(drw_ResourceID_iface)
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_resource_id_varying)
|
||||
@@ -48,40 +48,26 @@ GEOMETRY_OUT(draw_resource_id_iface)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_resource_id)
|
||||
DEFINE("UNIFORM_RESOURCE_ID_NEW")
|
||||
/* TODO (Miguel Pozo): This is an int for compatibility.
|
||||
* It should become uint once the "Next" ports are complete. */
|
||||
STORAGE_BUF(DRW_RESOURCE_ID_SLOT, READ, int, resource_id_buf[])
|
||||
DEFINE_VALUE("drw_ResourceID", "resource_id_buf[gpu_BaseInstance + gl_InstanceID]")
|
||||
STORAGE_BUF(DRW_RESOURCE_ID_SLOT, READ, uint, resource_id_buf[])
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_resource_with_custom_id)
|
||||
DEFINE("UNIFORM_RESOURCE_ID_NEW")
|
||||
DEFINE("WITH_CUSTOM_IDS")
|
||||
STORAGE_BUF(DRW_RESOURCE_ID_SLOT, READ, int2, resource_id_buf[])
|
||||
DEFINE_VALUE("drw_ResourceID", "resource_id_buf[gpu_BaseInstance + gl_InstanceID].x")
|
||||
DEFINE_VALUE("drw_CustomID", "resource_id_buf[gpu_BaseInstance + gl_InstanceID].y")
|
||||
STORAGE_BUF(DRW_RESOURCE_ID_SLOT, READ, uint2, resource_id_buf[])
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
/**
|
||||
* Workaround the lack of gl_BaseInstance by binding the resource_id_buf as vertex buf.
|
||||
*/
|
||||
GPU_SHADER_CREATE_INFO(draw_resource_id_fallback)
|
||||
DEFINE("UNIFORM_RESOURCE_ID_NEW")
|
||||
VERTEX_IN(15, INT, drw_ResourceID)
|
||||
DEFINE("RESOURCE_ID_FALLBACK")
|
||||
VERTEX_IN(15, UINT, in_resource_id)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_resource_with_custom_id_fallback)
|
||||
DEFINE("UNIFORM_RESOURCE_ID_NEW")
|
||||
DEFINE("RESOURCE_ID_FALLBACK")
|
||||
DEFINE("WITH_CUSTOM_IDS")
|
||||
VERTEX_IN(15, IVEC2, vertex_in_drw_ResourceID)
|
||||
DEFINE_VALUE("drw_ResourceID", "vertex_in_drw_ResourceID.x")
|
||||
DEFINE_VALUE("drw_CustomID", "vertex_in_drw_ResourceID.y")
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
/** TODO mask view id bits. */
|
||||
GPU_SHADER_CREATE_INFO(draw_resource_handle_new)
|
||||
DEFINE_VALUE("resource_handle", "drw_ResourceID")
|
||||
VERTEX_IN(15, UVEC2, in_resource_id)
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
/** \} */
|
||||
@@ -94,8 +80,8 @@ GPU_SHADER_CREATE_INFO(draw_modelmat_common)
|
||||
TYPEDEF_SOURCE("draw_shader_shared.hh")
|
||||
STORAGE_BUF(DRW_OBJ_MAT_SLOT, READ, ObjectMatrices, drw_matrix_buf[])
|
||||
DEFINE("DRAW_MODELMAT_CREATE_INFO")
|
||||
DEFINE_VALUE("ModelMatrixInverse", "drw_matrix_buf[resource_id].model_inverse")
|
||||
DEFINE_VALUE("ModelMatrix", "drw_matrix_buf[resource_id].model")
|
||||
DEFINE_VALUE("ModelMatrixInverse", "drw_matrix_buf[drw_resource_id()].model_inverse")
|
||||
DEFINE_VALUE("ModelMatrix", "drw_matrix_buf[drw_resource_id()].model")
|
||||
GPU_SHADER_CREATE_END()
|
||||
|
||||
GPU_SHADER_CREATE_INFO(draw_modelmat)
|
||||
@@ -204,7 +190,5 @@ GPU_SHADER_CREATE_END()
|
||||
/* Stub needs to be after all definitions to avoid conflict with legacy definitions. */
|
||||
#ifdef GPU_SHADER
|
||||
/* Make it work for both draw_resource_id and draw_resource_with_custom_id. */
|
||||
# define drw_ResourceID vec2(resource_id_buf[gpu_BaseInstance + gl_InstanceID]).x
|
||||
# define drw_CustomID drw_ResourceID
|
||||
# define resource_handle drw_ResourceID
|
||||
# define resource_id_buf vec2(0)
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user