renderer-mvp/refactor-tech #50
@ -2,8 +2,6 @@ const Queue = @import("./Queue.zig");
 | 
			
		||||
 | 
			
		||||
const coral = @import("coral");
 | 
			
		||||
 | 
			
		||||
const draw_2d = @import("./shaders/draw_2d.glsl.zig");
 | 
			
		||||
 | 
			
		||||
const ext = @import("../ext.zig");
 | 
			
		||||
 | 
			
		||||
const gfx = @import("../gfx.zig");
 | 
			
		||||
@ -49,6 +47,8 @@ const Render = struct {
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		const instances_per_buffer = 512;
 | 
			
		||||
 | 
			
		||||
		const shader = @import("./shaders/instance_2d.glsl.zig");
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	const Resource = union (enum) {
 | 
			
		||||
@ -101,42 +101,42 @@ const Render = struct {
 | 
			
		||||
					.attrs = get: {
 | 
			
		||||
						var attrs = [_]sokol.gfx.VertexAttrState{.{}} ** 16;
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_mesh_xy] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_mesh_xy] = .{
 | 
			
		||||
							.format = .FLOAT2,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.mesh,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_mesh_uv] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_mesh_uv] = .{
 | 
			
		||||
							.format = .FLOAT2,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.mesh,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_instance_xbasis] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_instance_xbasis] = .{
 | 
			
		||||
							.format = .FLOAT2,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.instance,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_instance_ybasis] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_instance_ybasis] = .{
 | 
			
		||||
							.format = .FLOAT2,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.instance,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_instance_origin] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_instance_origin] = .{
 | 
			
		||||
							.format = .FLOAT2,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.instance,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_instance_tint] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_instance_tint] = .{
 | 
			
		||||
							.format = .UBYTE4N,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.instance,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_instance_depth] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_instance_depth] = .{
 | 
			
		||||
							.format = .FLOAT,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.instance,
 | 
			
		||||
						};
 | 
			
		||||
 | 
			
		||||
						attrs[draw_2d.ATTR_vs_instance_rect] = .{
 | 
			
		||||
						attrs[Instance2D.shader.ATTR_vs_instance_rect] = .{
 | 
			
		||||
							.format = .FLOAT4,
 | 
			
		||||
							.buffer_index = Instance2D.buffer_indices.instance,
 | 
			
		||||
						};
 | 
			
		||||
@ -153,7 +153,7 @@ const Render = struct {
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
 | 
			
		||||
				.shader = sokol.gfx.makeShader(draw_2d.draw2dShaderDesc(sokol.gfx.queryBackend())),
 | 
			
		||||
				.shader = sokol.gfx.makeShader(Instance2D.shader.draw2dShaderDesc(sokol.gfx.queryBackend())),
 | 
			
		||||
				.index_type = .UINT16,
 | 
			
		||||
			}),
 | 
			
		||||
 | 
			
		||||
@ -195,7 +195,7 @@ const Render = struct {
 | 
			
		||||
 | 
			
		||||
		sokol.gfx.applyPipeline(self.instance_2d_pipeline);
 | 
			
		||||
 | 
			
		||||
		sokol.gfx.applyUniforms(.VS, draw_2d.SLOT_Screen, sokol.gfx.asRange(&draw_2d.Screen{
 | 
			
		||||
		sokol.gfx.applyUniforms(.VS, Instance2D.shader.SLOT_Screen, sokol.gfx.asRange(&Instance2D.shader.Screen{
 | 
			
		||||
			.screen_size = .{@floatFromInt(frame.width), @floatFromInt(frame.height)},
 | 
			
		||||
		}));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user