This commit is contained in:
2026-01-23 15:07:00 -06:00
parent 8b0df988bc
commit 6df0338c84

30
sdl.cm
View File

@@ -25,13 +25,13 @@ function init(opts) {
_resolution_w = opts.width || 640
_resolution_h = opts.height || 480
_window = new video.window({
_window = video.window({
title: opts.title || "lance3d",
width: _resolution_w,
height: _resolution_h
})
_gpu = new gpu_mod.gpu({ debug: true, shaders_msl: true })
_gpu =gpu_mod.gpu({ debug: true, shaders_msl: true })
_gpu.claim_window(_window)
var vert_code = io.slurp("shaders/retro3d.vert.msl")
@@ -42,7 +42,7 @@ function init(opts) {
return false
}
_vert_shader = new gpu_mod.shader(_gpu, {
_vert_shader =gpu_mod.shader(_gpu, {
code: vert_code,
stage: "vertex",
format: "msl",
@@ -50,7 +50,7 @@ function init(opts) {
num_uniform_buffers: 2
})
_frag_shader = new gpu_mod.shader(_gpu, {
_frag_shader =gpu_mod.shader(_gpu, {
code: frag_code,
stage: "fragment",
format: "msl",
@@ -63,7 +63,7 @@ function init(opts) {
var skinned_vert_code = io.slurp("shaders/retro3d_skinned.vert.msl")
if (skinned_vert_code) {
_skinned_vert_shader = new gpu_mod.shader(_gpu, {
_skinned_vert_shader =gpu_mod.shader(_gpu, {
code: skinned_vert_code,
stage: "vertex",
format: "msl",
@@ -76,21 +76,21 @@ function init(opts) {
get_pipeline(false, "opaque", "back")
get_pipeline(true, "opaque", "back")
_sampler_nearest = new gpu_mod.sampler(_gpu, {
_sampler_nearest =gpu_mod.sampler(_gpu, {
min_filter: "nearest",
mag_filter: "nearest",
u: "repeat",
v: "repeat"
})
_sampler_linear = new gpu_mod.sampler(_gpu, {
_sampler_linear =gpu_mod.sampler(_gpu, {
min_filter: "linear",
mag_filter: "linear",
u: "repeat",
v: "repeat"
})
_depth_texture = new gpu_mod.texture(_gpu, {
_depth_texture =gpu_mod.texture(_gpu, {
width: _resolution_w,
height: _resolution_h,
format: "d32 float s8",
@@ -168,7 +168,7 @@ function get_pipeline(skinned, alpha_mode, cull) {
vertex_attrs.push({ location: 5, buffer_slot: 0, format: "float4", offset: 64 })
}
var pipeline = new gpu_mod.graphics_pipeline(_gpu, {
var pipeline =gpu_mod.graphics_pipeline(_gpu, {
vertex: vert_shader,
fragment: _frag_shader,
primitive: "triangle",
@@ -197,7 +197,7 @@ function get_pipeline(skinned, alpha_mode, cull) {
}
function create_texture(w, h, pixels) {
var tex = new gpu_mod.texture(_gpu, {
var tex =gpu_mod.texture(_gpu, {
width: w,
height: h,
format: "rgba8",
@@ -208,7 +208,7 @@ function create_texture(w, h, pixels) {
})
var size = w * h * 4
var transfer = new gpu_mod.transfer_buffer(_gpu, {
var transfer =gpu_mod.transfer_buffer(_gpu, {
size: size,
usage: "upload"
})
@@ -232,12 +232,12 @@ function create_texture(w, h, pixels) {
function create_vertex_buffer(data) {
var size = length(data) / 8
var buffer = new gpu_mod.buffer(_gpu, {
var buffer =gpu_mod.buffer(_gpu, {
size: size,
vertex: true
})
var transfer = new gpu_mod.transfer_buffer(_gpu, {
var transfer =gpu_mod.transfer_buffer(_gpu, {
size: size,
usage: "upload"
})
@@ -259,12 +259,12 @@ function create_vertex_buffer(data) {
function create_index_buffer(data) {
var size = length(data) / 8
var buffer = new gpu_mod.buffer(_gpu, {
var buffer =gpu_mod.buffer(_gpu, {
size: size,
index: true
})
var transfer = new gpu_mod.transfer_buffer(_gpu, {
var transfer =gpu_mod.transfer_buffer(_gpu, {
size: size,
usage: "upload"
})