rename ui RectInstance -> DRect
This commit is contained in:
parent
391fc33a5e
commit
030d9ad6a8
@ -326,6 +326,13 @@ JobDef(V_VisWorker, sig, job_id)
|
|||||||
}
|
}
|
||||||
UnlockTicketMutex(&sim_shared->input_back_tm);
|
UnlockTicketMutex(&sim_shared->input_back_tm);
|
||||||
|
|
||||||
|
//////////////////////////////
|
||||||
|
//- Render
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//////////////////////////////
|
//////////////////////////////
|
||||||
//- End vis frame
|
//- End vis frame
|
||||||
|
|
||||||
|
|||||||
@ -17,8 +17,8 @@
|
|||||||
@IncludeGpu ui_draw.gpu
|
@IncludeGpu ui_draw.gpu
|
||||||
|
|
||||||
//- Shaders
|
//- Shaders
|
||||||
@VertexShader UI_RectVS
|
@VertexShader UI_DRectVS
|
||||||
@PixelShader UI_RectPS
|
@PixelShader UI_DRectPS
|
||||||
|
|
||||||
//- Embeds
|
//- Embeds
|
||||||
@EmbedDir UI_Resources ui_res
|
@EmbedDir UI_Resources ui_res
|
||||||
|
|||||||
@ -672,7 +672,7 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
{
|
{
|
||||||
g->eframe.layout_arena = AcquireArena(Gibi(64));
|
g->eframe.layout_arena = AcquireArena(Gibi(64));
|
||||||
g->eframe.rects_arena = AcquireArena(Gibi(64));
|
g->eframe.rects_arena = AcquireArena(Gibi(64));
|
||||||
g->eframe.draw_rects_tbuff = GPU_AcquireTransientBuffer(GPU_QueueKind_Direct, sizeof(UI_RectInstance));
|
g->eframe.draw_rects_tbuff = GPU_AcquireTransientBuffer(GPU_QueueKind_Direct, sizeof(UI_DRect));
|
||||||
}
|
}
|
||||||
ResetArena(g->eframe.layout_arena);
|
ResetArena(g->eframe.layout_arena);
|
||||||
ResetArena(g->eframe.rects_arena);
|
ResetArena(g->eframe.rects_arena);
|
||||||
@ -1232,8 +1232,8 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
{
|
{
|
||||||
/* Box rect */
|
/* Box rect */
|
||||||
{
|
{
|
||||||
UI_RectInstance *rect = PushStruct(g->eframe.rects_arena, UI_RectInstance);
|
UI_DRect *rect = PushStruct(g->eframe.rects_arena, UI_DRect);
|
||||||
rect->flags |= UI_RectFlag_DrawTexture * !!(box->cmd.background_texture != 0);
|
rect->flags |= UI_DRectFlag_DrawTexture * !!(box->cmd.background_texture != 0);
|
||||||
rect->p0 = box->p0;
|
rect->p0 = box->p0;
|
||||||
rect->p1 = box->p1;
|
rect->p1 = box->p1;
|
||||||
rect->tex_uv0 = VEC2(0, 0);
|
rect->tex_uv0 = VEC2(0, 0);
|
||||||
@ -1368,8 +1368,8 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
Vec2 glyph_size = SubVec2(atlas_p1, atlas_p0);
|
Vec2 glyph_size = SubVec2(atlas_p1, atlas_p0);
|
||||||
if (glyph_size.x != 0 || glyph_size.y != 0)
|
if (glyph_size.x != 0 || glyph_size.y != 0)
|
||||||
{
|
{
|
||||||
UI_RectInstance *rect = PushStruct(g->eframe.rects_arena, UI_RectInstance);
|
UI_DRect *rect = PushStruct(g->eframe.rects_arena, UI_DRect);
|
||||||
rect->flags |= UI_RectFlag_DrawTexture;
|
rect->flags |= UI_DRectFlag_DrawTexture;
|
||||||
rect->p0 = AddVec2(baseline, VEC2(rr.pos, 0));
|
rect->p0 = AddVec2(baseline, VEC2(rr.pos, 0));
|
||||||
rect->p0 = AddVec2(rect->p0, rr.offset);
|
rect->p0 = AddVec2(rect->p0, rr.offset);
|
||||||
rect->p1 = AddVec2(rect->p0, glyph_size);
|
rect->p1 = AddVec2(rect->p0, glyph_size);
|
||||||
@ -1413,13 +1413,13 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
|
|
||||||
/* Render rects */
|
/* Render rects */
|
||||||
{
|
{
|
||||||
UI_RectSig sig = ZI;
|
UI_DRectSig sig = ZI;
|
||||||
sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size);
|
sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size);
|
||||||
sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler());
|
sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler());
|
||||||
sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer);
|
sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer);
|
||||||
GPU_Rasterize(cl,
|
GPU_Rasterize(cl,
|
||||||
&sig,
|
&sig,
|
||||||
UI_RectVS, UI_RectPS,
|
UI_DRectVS, UI_DRectPS,
|
||||||
1,
|
1,
|
||||||
viewport,
|
viewport,
|
||||||
scissor,
|
scissor,
|
||||||
@ -1431,14 +1431,14 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
/* Render rect wireframes */
|
/* Render rect wireframes */
|
||||||
if (AnyBit(g->bframe.frame_flags, UI_FrameFlag_Debug))
|
if (AnyBit(g->bframe.frame_flags, UI_FrameFlag_Debug))
|
||||||
{
|
{
|
||||||
UI_RectSig sig = ZI;
|
UI_DRectSig sig = ZI;
|
||||||
sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size);
|
sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size);
|
||||||
sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler());
|
sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler());
|
||||||
sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer);
|
sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer);
|
||||||
sig.debug_enabled = 1;
|
sig.debug_enabled = 1;
|
||||||
GPU_Rasterize(cl,
|
GPU_Rasterize(cl,
|
||||||
&sig,
|
&sig,
|
||||||
UI_RectVS, UI_RectPS,
|
UI_DRectVS, UI_DRectPS,
|
||||||
1,
|
1,
|
||||||
viewport,
|
viewport,
|
||||||
scissor,
|
scissor,
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
ConstantBuffer<UI_RectSig> UI_rect_sig : register (b0);
|
ConstantBuffer<UI_DRectSig> UI_drect_sig : register (b0);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//~ Rect
|
//~ Rect
|
||||||
|
|
||||||
Struct(UI_RectPS_Input)
|
Struct(UI_DRectPS_Input)
|
||||||
{
|
{
|
||||||
|
|
||||||
Semantic(Vec4, sv_position);
|
Semantic(Vec4, sv_position);
|
||||||
@ -15,24 +15,24 @@ Struct(UI_RectPS_Input)
|
|||||||
Semantic(Vec2, tex_uv);
|
Semantic(Vec2, tex_uv);
|
||||||
};
|
};
|
||||||
|
|
||||||
Struct(UI_RectPS_Output)
|
Struct(UI_DRectPS_Output)
|
||||||
{
|
{
|
||||||
Semantic(Vec4, sv_target0);
|
Semantic(Vec4, sv_target0);
|
||||||
};
|
};
|
||||||
|
|
||||||
//- Vertex shader
|
//- Vertex shader
|
||||||
|
|
||||||
UI_RectPS_Input VSDef(UI_RectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_vertexid))
|
UI_DRectPS_Input VSDef(UI_DRectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_vertexid))
|
||||||
{
|
{
|
||||||
ConstantBuffer<UI_RectSig> sig = UI_rect_sig;
|
ConstantBuffer<UI_DRectSig> sig = UI_drect_sig;
|
||||||
StructuredBuffer<UI_RectInstance> rects = UniformResourceFromRid(sig.rects);
|
StructuredBuffer<UI_DRect> rects = UniformResourceFromRid(sig.rects);
|
||||||
UI_RectInstance rect = rects[sv_instanceid];
|
UI_DRect rect = rects[sv_instanceid];
|
||||||
|
|
||||||
Vec2 rect_uv = RectUvFromVertexId(sv_vertexid);
|
Vec2 rect_uv = RectUvFromVertexId(sv_vertexid);
|
||||||
Vec2 tex_uv = lerp(rect.tex_uv0, rect.tex_uv1, rect_uv);
|
Vec2 tex_uv = lerp(rect.tex_uv0, rect.tex_uv1, rect_uv);
|
||||||
Vec2 screen_vert = lerp(rect.p0, rect.p1, rect_uv);
|
Vec2 screen_vert = lerp(rect.p0, rect.p1, rect_uv);
|
||||||
|
|
||||||
UI_RectPS_Input result;
|
UI_DRectPS_Input result;
|
||||||
result.sv_position = Vec4(NdcFromViewport(sig.viewport_size, screen_vert).xy, 0, 1);
|
result.sv_position = Vec4(NdcFromViewport(sig.viewport_size, screen_vert).xy, 0, 1);
|
||||||
result.background_lin = rect.background_lin;
|
result.background_lin = rect.background_lin;
|
||||||
result.border_lin = rect.border_lin;
|
result.border_lin = rect.border_lin;
|
||||||
@ -45,11 +45,11 @@ UI_RectPS_Input VSDef(UI_RectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_
|
|||||||
}
|
}
|
||||||
|
|
||||||
//- Pixel shader
|
//- Pixel shader
|
||||||
UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input)
|
UI_DRectPS_Output PSDef(UI_DRectPS, UI_DRectPS_Input input)
|
||||||
{
|
{
|
||||||
ConstantBuffer<UI_RectSig> sig = UI_rect_sig;
|
ConstantBuffer<UI_DRectSig> sig = UI_drect_sig;
|
||||||
StructuredBuffer<UI_RectInstance> rects = UniformResourceFromRid(sig.rects);
|
StructuredBuffer<UI_DRect> rects = UniformResourceFromRid(sig.rects);
|
||||||
UI_RectInstance rect = rects[input.rect_idx];
|
UI_DRect rect = rects[input.rect_idx];
|
||||||
|
|
||||||
Vec2 p = input.sv_position.xy;
|
Vec2 p = input.sv_position.xy;
|
||||||
Vec2 rect_uv = input.rect_uv;
|
Vec2 rect_uv = input.rect_uv;
|
||||||
@ -105,7 +105,7 @@ UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input)
|
|||||||
{
|
{
|
||||||
background_color = border_color;
|
background_color = border_color;
|
||||||
}
|
}
|
||||||
else if (rect.flags & UI_RectFlag_DrawTexture)
|
else if (rect.flags & UI_DRectFlag_DrawTexture)
|
||||||
{
|
{
|
||||||
SamplerState sampler = UniformSamplerFromRid(sig.sampler);
|
SamplerState sampler = UniformSamplerFromRid(sig.sampler);
|
||||||
Texture2D<Vec4> tex = NonUniformResourceFromRid(rect.tex);
|
Texture2D<Vec4> tex = NonUniformResourceFromRid(rect.tex);
|
||||||
@ -128,7 +128,7 @@ UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input)
|
|||||||
final_color = rect.debug_lin;
|
final_color = rect.debug_lin;
|
||||||
}
|
}
|
||||||
|
|
||||||
UI_RectPS_Output output;
|
UI_DRectPS_Output output;
|
||||||
output.sv_target0 = final_color;
|
output.sv_target0 = final_color;
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//~ Rect types
|
//~ Rect types
|
||||||
|
|
||||||
Struct(UI_RectSig)
|
Struct(UI_DRectSig)
|
||||||
{
|
{
|
||||||
/* ----------------------------------------------------- */
|
/* ----------------------------------------------------- */
|
||||||
Vec2I32 viewport_size; /* 02 consts */
|
Vec2I32 viewport_size; /* 02 consts */
|
||||||
@ -14,17 +14,17 @@ Struct(UI_RectSig)
|
|||||||
u32 _pad2; /* 01 consts (padding) */
|
u32 _pad2; /* 01 consts (padding) */
|
||||||
/* ----------------------------------------------------- */
|
/* ----------------------------------------------------- */
|
||||||
};
|
};
|
||||||
AssertRootConst(UI_RectSig, 8);
|
AssertRootConst(UI_DRectSig, 8);
|
||||||
|
|
||||||
Enum(UI_RectFlag)
|
Enum(UI_DRectFlag)
|
||||||
{
|
{
|
||||||
UI_RectFlag_None = 0,
|
UI_DRectFlag_None = 0,
|
||||||
UI_RectFlag_DrawTexture = (1 << 0),
|
UI_DRectFlag_DrawTexture = (1 << 0),
|
||||||
};
|
};
|
||||||
|
|
||||||
Struct(UI_RectInstance)
|
Struct(UI_DRect)
|
||||||
{
|
{
|
||||||
UI_RectFlag flags;
|
UI_DRectFlag flags;
|
||||||
Vec2 p0;
|
Vec2 p0;
|
||||||
Vec2 p1;
|
Vec2 p1;
|
||||||
Vec4 tint_lin;
|
Vec4 tint_lin;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user