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);
|
||||
|
||||
//////////////////////////////
|
||||
//- Render
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
//- End vis frame
|
||||
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
@IncludeGpu ui_draw.gpu
|
||||
|
||||
//- Shaders
|
||||
@VertexShader UI_RectVS
|
||||
@PixelShader UI_RectPS
|
||||
@VertexShader UI_DRectVS
|
||||
@PixelShader UI_DRectPS
|
||||
|
||||
//- Embeds
|
||||
@EmbedDir UI_Resources ui_res
|
||||
|
||||
@ -672,7 +672,7 @@ i64 UI_EndFrame(UI_Frame frame)
|
||||
{
|
||||
g->eframe.layout_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.rects_arena);
|
||||
@ -1232,8 +1232,8 @@ i64 UI_EndFrame(UI_Frame frame)
|
||||
{
|
||||
/* Box rect */
|
||||
{
|
||||
UI_RectInstance *rect = PushStruct(g->eframe.rects_arena, UI_RectInstance);
|
||||
rect->flags |= UI_RectFlag_DrawTexture * !!(box->cmd.background_texture != 0);
|
||||
UI_DRect *rect = PushStruct(g->eframe.rects_arena, UI_DRect);
|
||||
rect->flags |= UI_DRectFlag_DrawTexture * !!(box->cmd.background_texture != 0);
|
||||
rect->p0 = box->p0;
|
||||
rect->p1 = box->p1;
|
||||
rect->tex_uv0 = VEC2(0, 0);
|
||||
@ -1368,8 +1368,8 @@ i64 UI_EndFrame(UI_Frame frame)
|
||||
Vec2 glyph_size = SubVec2(atlas_p1, atlas_p0);
|
||||
if (glyph_size.x != 0 || glyph_size.y != 0)
|
||||
{
|
||||
UI_RectInstance *rect = PushStruct(g->eframe.rects_arena, UI_RectInstance);
|
||||
rect->flags |= UI_RectFlag_DrawTexture;
|
||||
UI_DRect *rect = PushStruct(g->eframe.rects_arena, UI_DRect);
|
||||
rect->flags |= UI_DRectFlag_DrawTexture;
|
||||
rect->p0 = AddVec2(baseline, VEC2(rr.pos, 0));
|
||||
rect->p0 = AddVec2(rect->p0, rr.offset);
|
||||
rect->p1 = AddVec2(rect->p0, glyph_size);
|
||||
@ -1413,13 +1413,13 @@ i64 UI_EndFrame(UI_Frame frame)
|
||||
|
||||
/* Render rects */
|
||||
{
|
||||
UI_RectSig sig = ZI;
|
||||
UI_DRectSig sig = ZI;
|
||||
sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size);
|
||||
sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler());
|
||||
sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer);
|
||||
GPU_Rasterize(cl,
|
||||
&sig,
|
||||
UI_RectVS, UI_RectPS,
|
||||
UI_DRectVS, UI_DRectPS,
|
||||
1,
|
||||
viewport,
|
||||
scissor,
|
||||
@ -1431,14 +1431,14 @@ i64 UI_EndFrame(UI_Frame frame)
|
||||
/* Render rect wireframes */
|
||||
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.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler());
|
||||
sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer);
|
||||
sig.debug_enabled = 1;
|
||||
GPU_Rasterize(cl,
|
||||
&sig,
|
||||
UI_RectVS, UI_RectPS,
|
||||
UI_DRectVS, UI_DRectPS,
|
||||
1,
|
||||
viewport,
|
||||
scissor,
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
ConstantBuffer<UI_RectSig> UI_rect_sig : register (b0);
|
||||
ConstantBuffer<UI_DRectSig> UI_drect_sig : register (b0);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
//~ Rect
|
||||
|
||||
Struct(UI_RectPS_Input)
|
||||
Struct(UI_DRectPS_Input)
|
||||
{
|
||||
|
||||
Semantic(Vec4, sv_position);
|
||||
@ -15,24 +15,24 @@ Struct(UI_RectPS_Input)
|
||||
Semantic(Vec2, tex_uv);
|
||||
};
|
||||
|
||||
Struct(UI_RectPS_Output)
|
||||
Struct(UI_DRectPS_Output)
|
||||
{
|
||||
Semantic(Vec4, sv_target0);
|
||||
};
|
||||
|
||||
//- 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;
|
||||
StructuredBuffer<UI_RectInstance> rects = UniformResourceFromRid(sig.rects);
|
||||
UI_RectInstance rect = rects[sv_instanceid];
|
||||
ConstantBuffer<UI_DRectSig> sig = UI_drect_sig;
|
||||
StructuredBuffer<UI_DRect> rects = UniformResourceFromRid(sig.rects);
|
||||
UI_DRect rect = rects[sv_instanceid];
|
||||
|
||||
Vec2 rect_uv = RectUvFromVertexId(sv_vertexid);
|
||||
Vec2 tex_uv = lerp(rect.tex_uv0, rect.tex_uv1, 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.background_lin = rect.background_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
|
||||
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;
|
||||
StructuredBuffer<UI_RectInstance> rects = UniformResourceFromRid(sig.rects);
|
||||
UI_RectInstance rect = rects[input.rect_idx];
|
||||
ConstantBuffer<UI_DRectSig> sig = UI_drect_sig;
|
||||
StructuredBuffer<UI_DRect> rects = UniformResourceFromRid(sig.rects);
|
||||
UI_DRect rect = rects[input.rect_idx];
|
||||
|
||||
Vec2 p = input.sv_position.xy;
|
||||
Vec2 rect_uv = input.rect_uv;
|
||||
@ -105,7 +105,7 @@ UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input)
|
||||
{
|
||||
background_color = border_color;
|
||||
}
|
||||
else if (rect.flags & UI_RectFlag_DrawTexture)
|
||||
else if (rect.flags & UI_DRectFlag_DrawTexture)
|
||||
{
|
||||
SamplerState sampler = UniformSamplerFromRid(sig.sampler);
|
||||
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;
|
||||
}
|
||||
|
||||
UI_RectPS_Output output;
|
||||
UI_DRectPS_Output output;
|
||||
output.sv_target0 = final_color;
|
||||
return output;
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
////////////////////////////////////////////////////////////
|
||||
//~ Rect types
|
||||
|
||||
Struct(UI_RectSig)
|
||||
Struct(UI_DRectSig)
|
||||
{
|
||||
/* ----------------------------------------------------- */
|
||||
Vec2I32 viewport_size; /* 02 consts */
|
||||
@ -14,17 +14,17 @@ Struct(UI_RectSig)
|
||||
u32 _pad2; /* 01 consts (padding) */
|
||||
/* ----------------------------------------------------- */
|
||||
};
|
||||
AssertRootConst(UI_RectSig, 8);
|
||||
AssertRootConst(UI_DRectSig, 8);
|
||||
|
||||
Enum(UI_RectFlag)
|
||||
Enum(UI_DRectFlag)
|
||||
{
|
||||
UI_RectFlag_None = 0,
|
||||
UI_RectFlag_DrawTexture = (1 << 0),
|
||||
UI_DRectFlag_None = 0,
|
||||
UI_DRectFlag_DrawTexture = (1 << 0),
|
||||
};
|
||||
|
||||
Struct(UI_RectInstance)
|
||||
Struct(UI_DRect)
|
||||
{
|
||||
UI_RectFlag flags;
|
||||
UI_DRectFlag flags;
|
||||
Vec2 p0;
|
||||
Vec2 p1;
|
||||
Vec4 tint_lin;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user