This commit is contained in:
peterino2 2025-06-01 22:10:41 -07:00
parent 69203653fd
commit f7b3d03b40
14 changed files with 729 additions and 13 deletions

View File

@ -240,7 +240,8 @@ pub const Scene = struct {
const settings = Scene.SceneObjectContainer.get(self.handle, .settings).?;
if (settings.sceneMode == .static) {
if (mobility == .moveable) {
core.gScene.dynamicObjects.append(core.gScene.allocator, self.handle) catch unreachable;
const gScene = getSceneSystem();
gScene.dynamicObjects.append(gScene.allocator, self.handle) catch unreachable;
}
}

View File

@ -86,7 +86,10 @@ Output main(Input input)
output.Normal = normalize(mul(noTranslate, float4(input.Normal, 1.0))).xyz;
float4x4 noTranslateScreen = mul(NoTranslateView, noTranslate);
output.ScreenNormal = mul(NoTranslateView, float4(input.Normal, 1.0)).xyz;
output.ScreenNormal = mul(noTranslateScreen, float4(input.Normal, 1.0)).xyz;
// output.ScreenNormal = mul(noTranslateScreen, float4(input.Normal, 1.0)).xyz;
// output.ScreenNormal = input.Normal;
// output.ScreenNormal = float4(input.Normal, 1.0).xyz;

View File

@ -52,7 +52,7 @@ float4 main(float2 UV: TEXCOORD0) : SV_Target0
x = (normal + 1.0) * 0.5; // -1 -> 0 . 1.0 -> 1.0 0 -> 0.5
x = tangent;
// x = tangent;
//for(int i = 0; i < numSamples; i += 1)
for(int i = 0; i < numSamples; i += 1)
{
@ -100,7 +100,7 @@ float4 main(float2 UV: TEXCOORD0) : SV_Target0
c = occlusion;
//float j = x.z;
// c = float4(x, 1.0);
//c = float4(x, 1.0);
return c + occlusion * 0.00001;
}

View File

@ -86,6 +86,7 @@ pub fn loadIndexedMeshForPoolingGltf(allocator: std.mem.Allocator, meshName: cor
}
} else if (accessor.component_type == .unsigned_integer) {
parser.getDataFromBufferView(u32, &indexList, accessor, @alignCast(binaryBytes));
// ... do we need to rotate winding orders?
}
}

View File

@ -37,7 +37,7 @@ pub const Renderer = struct {
preDraws: std.ArrayListUnmanaged(struct { ptr: *anyopaque, func: *const fn (*anyopaque, *gpu.GPUCommandBuffer) void }) = .{},
depthTexture: *gpu.GPUTexture = undefined,
depthFormat: gpu.GPUTextureFormat = .textureformatD16Unorm,
depthFormat: gpu.GPUTextureFormat = .textureformatD32Float,
textureList: *TextureList = undefined,
@ -59,7 +59,7 @@ pub const Renderer = struct {
directionalLightColor: core.colors.Color = .{ .r = 0.8, .g = 0.8, .b = 0.9 },
directionalLightDir: core.Vectorf = core.Vectorf.new(0.5, -0.5, 0.0).normalize(),
shadowDepthFormat: gpu.GPUTextureFormat = .textureformatD16Unorm,
shadowDepthFormat: gpu.GPUTextureFormat = .textureformatD32Float,
shadowDepthTexture: *gpu.GPUTexture = undefined,
shadowDepthDebugOutput: *gpu.GPUTexture = undefined,
shadowCastingPipeline: *gpu.GPUGraphicsPipeline = undefined,
@ -485,6 +485,7 @@ pub const Renderer = struct {
pci.rasterizer_state.fill_mode = .fillmodeFill;
pci.rasterizer_state.cull_mode = .cullmodeBack;
pci.rasterizer_state.front_face = .frontfaceClockwise;
self.meshPipe = self.device.createGPUGraphicsPipeline(&pci);
}

View File

@ -226,15 +226,15 @@ pub const MeshBuilder = struct {
}
// generate ngons
try self.indexList.append(self.meshAlloc, indexStart);
try self.indexList.append(self.meshAlloc, indexStart + 1);
try self.indexList.append(self.meshAlloc, indexStart + 2);
try self.indexList.append(self.meshAlloc, indexStart + 1);
try self.indexList.append(self.meshAlloc, indexStart);
for (3..count) |j| {
const i: u32 = @intCast(j);
try self.indexList.append(self.meshAlloc, indexStart);
try self.indexList.append(self.meshAlloc, indexStart + i - 1);
try self.indexList.append(self.meshAlloc, indexStart + i);
try self.indexList.append(self.meshAlloc, indexStart + i - 1);
try self.indexList.append(self.meshAlloc, indexStart);
}
}
};

View File

View File

@ -48,13 +48,14 @@ vertex main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Uniform
main0_out out = {};
float4 _53 = float4(in.in_var_TEXCOORD0, 1.0);
float4 _56 = scene._m0[gl_InstanceIndex].Model * _53;
float4x4 _91 = float4x4(float4(fast::normalize(float3(scene._m0[gl_InstanceIndex].Model[0][0], scene._m0[gl_InstanceIndex].Model[1][0], scene._m0[gl_InstanceIndex].Model[2][0])), 0.0), float4(fast::normalize(float3(scene._m0[gl_InstanceIndex].Model[0][1], scene._m0[gl_InstanceIndex].Model[1][1], scene._m0[gl_InstanceIndex].Model[2][1])), 0.0), float4(fast::normalize(float3(scene._m0[gl_InstanceIndex].Model[0][2], scene._m0[gl_InstanceIndex].Model[1][2], scene._m0[gl_InstanceIndex].Model[2][2])), 0.0), float4(0.0, 0.0, 0.0, 1.0));
float4 _95 = float4(in.in_var_TEXCOORD1, 1.0);
out.out_var_TEXCOORD0 = in.in_var_TEXCOORD3;
out.out_var_TEXCOORD1 = _56.xyz;
out.out_var_TEXCOORD2 = fast::normalize(_95 * float4x4(float4(fast::normalize(float3(scene._m0[gl_InstanceIndex].Model[0][0], scene._m0[gl_InstanceIndex].Model[1][0], scene._m0[gl_InstanceIndex].Model[2][0])), 0.0), float4(fast::normalize(float3(scene._m0[gl_InstanceIndex].Model[0][1], scene._m0[gl_InstanceIndex].Model[1][1], scene._m0[gl_InstanceIndex].Model[2][1])), 0.0), float4(fast::normalize(float3(scene._m0[gl_InstanceIndex].Model[0][2], scene._m0[gl_InstanceIndex].Model[1][2], scene._m0[gl_InstanceIndex].Model[2][2])), 0.0), float4(0.0, 0.0, 0.0, 1.0))).xyz;
out.out_var_TEXCOORD2 = fast::normalize(_95 * _91).xyz;
out.out_var_TEXCOORD3 = Uniforms.ShadowMapProjection * _56;
out.out_var_TEXCOORD4 = gl_InstanceIndex;
out.out_var_TEXCOORD5 = (Uniforms.NoTranslateView * _95).xyz;
out.out_var_TEXCOORD5 = (_95 * (_91 * transpose(Uniforms.NoTranslateView))).xyz;
out.gl_Position = Uniforms.ViewProjection * (scene._m0[gl_InstanceIndex].Model * _53);
return out;
}

View File

@ -0,0 +1,673 @@
# Blender 4.3.2
# www.blender.org
mtllib Crate.mtl
o Cube.002
v 0.828788 0.905062 -0.852711
v 0.835623 0.905062 0.893723
v -0.835623 0.905062 0.900559
v -0.832205 0.905062 -0.852711
v 0.579582 0.905062 -0.852711
v -0.593822 0.905062 -0.852711
v 0.007120 0.905062 -0.237813
v 0.830013 0.905062 -0.539764
v 0.834516 0.905062 0.610893
v 0.240662 0.905062 0.024209
v 0.596724 0.905062 0.894700
v -0.593736 0.905062 0.899569
v -0.007120 0.905062 0.283383
v -0.832710 0.905062 -0.593854
v -0.835064 0.905062 0.613743
v -0.232117 0.905062 0.018513
v 1.000000 0.999998 1.000000
v -1.000000 0.999998 1.000000
v 0.828788 0.999998 -0.852711
v 0.834516 0.999998 0.610893
v 0.835623 0.999998 0.893723
v -0.593736 0.999998 0.899569
v -0.835623 0.999998 0.900559
v -0.593822 0.999998 -0.852711
v -0.832205 0.999998 -0.852711
v -0.835064 0.999998 0.613743
v 0.579582 0.999998 -0.852711
v 0.830013 0.999998 -0.539764
v 0.596724 0.999998 0.894700
v -0.832710 0.999998 -0.593854
v 0.834516 0.974286 0.610893
v 0.835623 0.974286 0.893723
v -0.593822 0.974286 -0.852711
v -0.832205 0.974286 -0.852711
v 0.007120 0.974286 -0.237813
v 0.240662 0.974286 0.024209
v 0.596724 0.974286 0.894700
v -0.007120 0.974286 0.283383
v -0.832710 0.974286 -0.593854
v -0.232117 0.974286 0.018513
v -0.593736 0.946597 0.899569
v -0.835623 0.946597 0.900559
v -0.835064 0.946597 0.613743
v 0.828788 0.946597 -0.852711
v 0.579582 0.946597 -0.852711
v 0.007120 0.946597 -0.237813
v 0.830013 0.946597 -0.539764
v 0.240662 0.946597 0.024209
v -0.007120 0.946597 0.283383
v -0.232117 0.946597 0.018513
v 1.000000 0.999998 -0.007348
v -0.161589 0.999998 1.000000
v -1.000000 0.999998 -0.010037
v 0.000912 0.999998 -1.000000
v 0.828788 -0.905062 -0.852711
v 0.835623 -0.905062 0.893723
v -0.835623 -0.905062 0.900559
v -0.832205 -0.905062 -0.852711
v 0.579582 -0.905062 -0.852711
v -0.593822 -0.905062 -0.852711
v 0.007120 -0.905062 -0.237814
v 0.830013 -0.905062 -0.539764
v 0.834516 -0.905062 0.610893
v 0.240662 -0.905062 0.024209
v 0.596724 -0.905062 0.894700
v -0.593736 -0.905062 0.899569
v -0.007120 -0.905062 0.283383
v -0.832710 -0.905062 -0.593854
v -0.835064 -0.905062 0.613743
v -0.232117 -0.905062 0.018513
v 0.828788 -0.999998 -0.852711
v 0.834516 -0.999998 0.610893
v 0.835623 -0.999998 0.893723
v -0.593736 -0.999998 0.899569
v -0.835623 -0.999998 0.900559
v -0.593822 -0.999998 -0.852711
v -0.832205 -0.999998 -0.852711
v -0.835064 -0.999998 0.613743
v 0.579582 -0.999998 -0.852711
v 0.830013 -0.999998 -0.539764
v 0.596724 -0.999998 0.894700
v -0.832710 -0.999998 -0.593854
v 0.834516 -0.974286 0.610893
v 0.835623 -0.974286 0.893723
v -0.593822 -0.974286 -0.852711
v -0.832205 -0.974286 -0.852711
v 0.007120 -0.974286 -0.237814
v 0.240662 -0.974286 0.024209
v 0.596724 -0.974286 0.894700
v -0.007120 -0.974286 0.283383
v -0.832710 -0.974286 -0.593854
v -0.232117 -0.974286 0.018513
v -0.593736 -0.946597 0.899569
v -0.835623 -0.946597 0.900559
v -0.835064 -0.946597 0.613743
v 0.828788 -0.946597 -0.852711
v 0.579582 -0.946597 -0.852711
v 0.007120 -0.946597 -0.237814
v 0.830013 -0.946597 -0.539764
v 0.240662 -0.946597 0.024209
v -0.007120 -0.946597 0.283383
v -0.232117 -0.946597 0.018513
v 1.000000 -0.999998 -0.007348
v -0.161589 -0.999998 1.000000
v 0.000912 -0.999998 -1.000000
v 0.852711 0.828788 -0.905062
v -0.893723 0.835623 -0.905062
v -0.900559 -0.835623 -0.905062
v 0.852711 -0.832205 -0.905062
v 0.852711 0.579582 -0.905062
v 0.852711 -0.593822 -0.905062
v 0.237814 0.007120 -0.905062
v 0.539764 0.830013 -0.905062
v -0.610893 0.834516 -0.905062
v -0.024209 0.240662 -0.905062
v -0.894700 0.596724 -0.905062
v -0.899569 -0.593736 -0.905062
v -0.283383 -0.007120 -0.905062
v 0.593854 -0.832710 -0.905062
v -0.613743 -0.835064 -0.905062
v -0.018513 -0.232117 -0.905062
v -1.000000 1.000000 -0.999998
v -1.000000 -1.000000 -0.999998
v 1.000000 -1.000000 -0.999998
v 1.000000 1.000000 -0.999998
v 0.852711 0.828788 -0.999998
v -0.610893 0.834516 -0.999998
v -0.893723 0.835623 -0.999998
v -0.899569 -0.593736 -0.999998
v -0.900559 -0.835623 -0.999998
v 0.852711 -0.593822 -0.999998
v 0.852711 -0.832205 -0.999998
v -0.613743 -0.835064 -0.999998
v 0.852711 0.579582 -0.999998
v 0.539764 0.830013 -0.999998
v -0.894700 0.596724 -0.999998
v 0.593854 -0.832710 -0.999998
v -0.610893 0.834516 -0.974286
v -0.893723 0.835623 -0.974286
v 0.852711 -0.593822 -0.974286
v 0.852711 -0.832205 -0.974286
v 0.237814 0.007120 -0.974286
v -0.024209 0.240662 -0.974286
v -0.894700 0.596724 -0.974286
v -0.283383 -0.007120 -0.974286
v 0.593854 -0.832710 -0.974286
v -0.018513 -0.232117 -0.974286
v -0.899569 -0.593736 -0.946597
v -0.900559 -0.835623 -0.946597
v -0.613743 -0.835064 -0.946597
v 0.852711 0.828788 -0.946597
v 0.852711 0.579582 -0.946597
v 0.237814 0.007120 -0.946597
v 0.539764 0.830013 -0.946597
v -0.024209 0.240662 -0.946597
v -0.283383 -0.007120 -0.946597
v -0.018513 -0.232117 -0.946597
v 0.007348 1.000000 -0.999998
v -1.000000 -0.161589 -0.999998
v 0.010037 -1.000000 -0.999998
v 1.000000 0.000912 -0.999998
v 0.852711 0.828788 0.905062
v -0.893723 0.835623 0.905062
v -0.900559 -0.835623 0.905062
v 0.852711 -0.832205 0.905062
v 0.852711 0.579582 0.905062
v 0.852711 -0.593822 0.905062
v 0.237814 0.007120 0.905062
v 0.539764 0.830013 0.905062
v -0.610894 0.834516 0.905062
v -0.024209 0.240662 0.905062
v -0.894700 0.596724 0.905062
v -0.899569 -0.593736 0.905062
v -0.283383 -0.007120 0.905062
v 0.593854 -0.832710 0.905062
v -0.613743 -0.835064 0.905062
v -0.018513 -0.232117 0.905062
v 0.852711 0.828788 0.999998
v -0.610894 0.834516 0.999998
v -0.893723 0.835623 0.999998
v -0.899569 -0.593736 0.999998
v -0.900559 -0.835623 0.999998
v 0.852711 -0.593822 0.999998
v 0.852711 -0.832205 0.999998
v -0.613743 -0.835064 0.999998
v 0.852711 0.579582 0.999998
v 0.539764 0.830013 0.999998
v -0.894700 0.596724 0.999998
v 0.593854 -0.832710 0.999998
v -0.610894 0.834516 0.974286
v -0.893723 0.835623 0.974286
v 0.852711 -0.593822 0.974286
v 0.852711 -0.832205 0.974286
v 0.237814 0.007120 0.974286
v -0.024209 0.240662 0.974286
v -0.894700 0.596724 0.974286
v -0.283383 -0.007120 0.974286
v 0.593854 -0.832710 0.974286
v -0.018513 -0.232117 0.974286
v -0.899569 -0.593736 0.946597
v -0.900559 -0.835623 0.946597
v -0.613743 -0.835064 0.946597
v 0.852711 0.828788 0.946597
v 0.852711 0.579582 0.946597
v 0.237814 0.007120 0.946597
v 0.539764 0.830013 0.946597
v -0.024209 0.240662 0.946597
v -0.283383 -0.007120 0.946597
v -0.018513 -0.232117 0.946597
v 0.007348 1.000000 0.999998
v 0.010037 -1.000000 0.999998
v 1.000000 0.000912 0.999998
v -0.905062 0.828788 -0.852711
v -0.905062 0.835623 0.893723
v -0.905062 -0.835623 0.900559
v -0.905062 -0.832205 -0.852711
v -0.905062 0.579582 -0.852711
v -0.905062 -0.593822 -0.852711
v -0.905062 0.007120 -0.237813
v -0.905062 0.830013 -0.539764
v -0.905062 0.834516 0.610894
v -0.905062 0.240662 0.024209
v -0.905062 0.596724 0.894700
v -0.905062 -0.593736 0.899569
v -0.905062 -0.007120 0.283383
v -0.905062 -0.832710 -0.593854
v -0.905062 -0.835064 0.613743
v -0.905062 -0.232117 0.018513
v -0.999998 -1.000000 1.000000
v -0.999998 0.828788 -0.852711
v -0.999998 0.834516 0.610894
v -0.999998 0.835623 0.893723
v -0.999998 -0.593736 0.899569
v -0.999998 -0.835623 0.900559
v -0.999998 -0.593822 -0.852711
v -0.999998 -0.832205 -0.852711
v -0.999998 -0.835064 0.613743
v -0.999998 0.579582 -0.852711
v -0.999998 0.830013 -0.539764
v -0.999998 0.596724 0.894700
v -0.999998 -0.832710 -0.593854
v -0.974286 0.834516 0.610894
v -0.974286 0.835623 0.893723
v -0.974286 -0.593822 -0.852711
v -0.974286 -0.832205 -0.852711
v -0.974286 0.007120 -0.237813
v -0.974286 0.240662 0.024209
v -0.974286 0.596724 0.894700
v -0.974286 -0.007120 0.283383
v -0.974286 -0.832710 -0.593854
v -0.974286 -0.232117 0.018513
v -0.946597 -0.593736 0.899569
v -0.946597 -0.835623 0.900559
v -0.946597 -0.835064 0.613743
v -0.946597 0.828788 -0.852711
v -0.946597 0.579582 -0.852711
v -0.946597 0.007120 -0.237813
v -0.946597 0.830013 -0.539764
v -0.946597 0.240662 0.024209
v -0.946597 -0.007120 0.283383
v -0.946597 -0.232117 0.018513
v -0.999998 1.000000 -0.007348
v -0.999998 -0.161589 1.000000
v -0.999998 -1.000000 -0.010037
v -0.999998 0.000912 -1.000000
v 0.905062 0.828788 -0.852711
v 0.905062 0.835623 0.893723
v 0.905062 -0.835623 0.900559
v 0.905062 -0.832205 -0.852711
v 0.905062 0.579582 -0.852711
v 0.905062 -0.593822 -0.852711
v 0.905062 0.007120 -0.237814
v 0.905062 0.830013 -0.539764
v 0.905062 0.834516 0.610893
v 0.905062 0.240662 0.024209
v 0.905062 0.596724 0.894700
v 0.905062 -0.593736 0.899569
v 0.905062 -0.007120 0.283383
v 0.905062 -0.832710 -0.593854
v 0.905062 -0.835064 0.613743
v 0.905062 -0.232117 0.018513
v 0.999998 -1.000000 1.000000
v 0.999998 0.828788 -0.852711
v 0.999998 0.834516 0.610893
v 0.999998 0.835623 0.893723
v 0.999998 -0.593736 0.899569
v 0.999998 -0.835623 0.900559
v 0.999998 -0.593822 -0.852711
v 0.999998 -0.832205 -0.852711
v 0.999998 -0.835064 0.613743
v 0.999998 0.579582 -0.852711
v 0.999998 0.830013 -0.539764
v 0.999998 0.596724 0.894700
v 0.999998 -0.832710 -0.593854
v 0.974286 0.834516 0.610893
v 0.974286 0.835623 0.893723
v 0.974286 -0.593822 -0.852711
v 0.974286 -0.832205 -0.852711
v 0.974286 0.007120 -0.237814
v 0.974286 0.240662 0.024209
v 0.974286 0.596724 0.894700
v 0.974286 -0.007120 0.283383
v 0.974286 -0.832710 -0.593854
v 0.974286 -0.232117 0.018513
v 0.946597 -0.593736 0.899569
v 0.946597 -0.835623 0.900559
v 0.946597 -0.835064 0.613743
v 0.946597 0.828788 -0.852711
v 0.946597 0.579582 -0.852711
v 0.946597 0.007120 -0.237814
v 0.946597 0.830013 -0.539764
v 0.946597 0.240662 0.024209
v 0.946597 -0.007120 0.283383
v 0.946597 -0.232117 0.018513
v 0.999998 -0.161589 1.000000
v 0.999998 -1.000000 -0.010037
vn -0.0000 -0.0000 1.0000
vn -0.0041 -0.0000 -1.0000
vn -1.0000 -0.0000 0.0039
vn 0.7152 -0.0000 -0.6989
vn -0.0000 1.0000 -0.0000
vn -0.7025 -0.0000 -0.7116
vn -0.7114 -0.0000 0.7027
vn 1.0000 -0.0000 0.0019
vn -0.7621 -0.0000 0.6474
vn 0.7028 -0.0000 -0.7114
vn -0.7139 -0.0000 0.7002
vn 0.6914 -0.0000 0.7225
vn -0.7319 -0.0000 -0.6814
vn 0.7465 -0.0000 -0.6654
vn 0.7243 -0.0000 0.6895
vn -0.0000 -1.0000 -0.0000
vn -1.0000 -0.0000 -0.0000
vn 1.0000 -0.0041 -0.0000
vn -0.0039 -1.0000 -0.0000
vn 0.6989 0.7152 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 0.7116 -0.7025 -0.0000
vn -0.7027 -0.7114 -0.0000
vn -0.0019 1.0000 -0.0000
vn -0.6474 -0.7621 -0.0000
vn 0.7114 0.7028 -0.0000
vn -0.7002 -0.7139 -0.0000
vn -0.7225 0.6914 -0.0000
vn 0.6814 -0.7319 -0.0000
vn 0.6654 0.7465 -0.0000
vn -0.6895 0.7243 -0.0000
vn -0.0000 -0.0041 -1.0000
vn -0.0000 -1.0000 0.0039
vn -0.0000 0.7152 -0.6989
vn -0.0000 -0.7025 -0.7116
vn -0.0000 -0.7114 0.7027
vn -0.0000 1.0000 0.0019
vn -0.0000 -0.7621 0.6474
vn -0.0000 0.7028 -0.7114
vn -0.0000 -0.7139 0.7002
vn -0.0000 0.6914 0.7225
vn -0.0000 -0.7319 -0.6814
vn -0.0000 0.7465 -0.6654
vn -0.0000 0.7243 0.6895
vn 1.0000 -0.0000 -0.0000
vt 0.926356 0.796911
vt 0.926356 0.210209
vt 0.053138 0.082188
vt 0.052650 0.201638
vt 0.194553 0.082742
vt 0.926356 0.085606
vt 0.618907 0.496440
vt 0.769882 0.084994
vt 0.487896 0.379669
vt 0.358309 0.503560
vt 0.050215 0.796868
vt 0.193128 0.917532
vt 0.490744 0.616059
vt 0.796927 0.916355
vt 0.000000 1.000000
vt 0.049721 0.917811
vt 0.505019 1.000000
vt 1.000000 0.000000
vt 0.503674 0.000000
vt 0.000000 0.580794
vt 0.000000 0.000000
vt 1.000000 1.000000
vt 0.926356 0.916102
vt 1.000000 0.499544
s 0
usemtl Material.001
f 6/1/1 5/2/1 27/2/1 24/1/1
f 2/3/2 11/4/2 29/4/2 21/3/2
f 9/5/3 2/3/3 21/3/3 20/5/3
f 5/2/1 1/6/1 19/6/1 27/2/1
f 7/7/4 6/1/4 33/1/4 35/7/4
f 6/1/5 7/7/5 5/2/5
f 8/8/5 10/9/5 9/5/5
f 11/4/5 13/10/5 12/11/5
f 15/12/5 16/13/5 14/14/5
f 16/13/6 15/12/6 43/12/6 50/13/6
f 13/10/7 11/4/7 37/4/7 38/10/7
f 18/15/5 23/16/5 26/12/5 53/17/5
f 125/18/5 19/6/5 28/8/5 51/19/5
f 21/3/5 29/4/5 52/20/5 17/21/5
f 122/22/5 25/23/5 24/1/5 54/24/5
f 11/4/2 12/11/2 22/11/2 29/4/2
f 12/11/2 3/16/2 23/16/2 22/11/2
f 1/6/3 8/8/3 28/8/3 19/6/3
f 4/23/1 6/1/1 24/1/1 25/23/1
f 14/14/8 4/23/8 25/23/8 30/14/8
f 8/8/3 9/5/3 20/5/3 28/8/3
f 15/12/8 14/14/8 30/14/8 26/12/8
f 3/16/8 15/12/8 26/12/8 23/16/8
f 34/23/5 39/14/5 33/1/5
f 33/1/5 39/14/5 40/13/5 35/7/5
f 31/5/5 37/4/5 32/3/5
f 35/7/5 40/13/5 38/10/5 36/9/5
f 36/9/5 38/10/5 37/4/5 31/5/5
f 50/13/9 49/10/9 38/10/9 40/13/9
f 9/5/10 10/9/10 36/9/10 31/5/10
f 14/14/11 16/13/11 40/13/11 39/14/11
f 45/2/5 47/8/5 44/6/5
f 41/11/5 43/12/5 42/16/5
f 46/7/5 48/9/5 47/8/5 45/2/5
f 49/10/5 50/13/5 43/12/5 41/11/5
f 10/9/12 8/8/12 47/8/12 48/9/12
f 5/2/13 7/7/13 46/7/13 45/2/13
f 36/9/14 48/9/14 46/7/14 35/7/14
f 12/11/15 13/10/15 49/10/15 41/11/15
f 51/19/5 28/8/5 20/5/5
f 20/5/5 21/3/5 17/21/5 51/19/5
f 52/20/5 22/11/5 23/16/5 18/15/5
f 22/11/5 52/20/5 29/4/5
f 53/17/5 26/12/5 30/14/5
f 30/14/5 25/23/5 122/22/5 53/17/5
f 54/24/5 24/1/5 27/2/5
f 27/2/5 19/6/5 125/18/5 54/24/5
f 60/1/1 76/1/1 79/2/1 59/2/1
f 56/3/2 73/3/2 81/4/2 65/4/2
f 63/5/3 72/5/3 73/3/3 56/3/3
f 59/2/1 79/2/1 71/6/1 55/6/1
f 61/7/4 87/7/4 85/1/4 60/1/4
f 60/1/16 59/2/16 61/7/16
f 62/8/16 63/5/16 64/9/16
f 65/4/16 66/11/16 67/10/16
f 69/12/16 68/14/16 70/13/16
f 70/13/6 102/13/6 95/12/6 69/12/6
f 67/10/7 90/10/7 89/4/7 65/4/7
f 229/15/16 264/17/16 78/12/16 75/16/16
f 124/18/16 103/19/16 80/8/16 71/6/16
f 73/3/16 282/21/16 104/20/16 81/4/16
f 123/22/16 105/24/16 76/1/16 77/23/16
f 65/4/2 81/4/2 74/11/2 66/11/2
f 66/11/2 74/11/2 75/16/2 57/16/2
f 55/6/3 71/6/3 80/8/3 62/8/3
f 58/23/1 77/23/1 76/1/1 60/1/1
f 68/14/8 82/14/8 77/23/8 58/23/8
f 62/8/3 80/8/3 72/5/3 63/5/3
f 69/12/8 78/12/8 82/14/8 68/14/8
f 57/16/8 75/16/8 78/12/8 69/12/8
f 86/23/16 85/1/16 91/14/16
f 85/1/16 87/7/16 92/13/16 91/14/16
f 83/5/16 84/3/16 89/4/16
f 87/7/16 88/9/16 90/10/16 92/13/16
f 88/9/16 83/5/16 89/4/16 90/10/16
f 102/13/9 92/13/9 90/10/9 101/10/9
f 63/5/10 83/5/10 88/9/10 64/9/10
f 68/14/11 91/14/11 92/13/11 70/13/11
f 97/2/16 96/6/16 99/8/16
f 93/11/16 94/16/16 95/12/16
f 98/7/16 97/2/16 99/8/16 100/9/16
f 101/10/16 93/11/16 95/12/16 102/13/16
f 64/9/12 100/9/12 99/8/12 62/8/12
f 59/2/13 97/2/13 98/7/13 61/7/13
f 88/9/14 87/7/14 98/7/14 100/9/14
f 66/11/15 93/11/15 101/10/15 67/10/15
f 103/19/16 72/5/16 80/8/16
f 72/5/16 103/19/16 282/21/16 73/3/16
f 104/20/16 229/15/16 75/16/16 74/11/16
f 74/11/16 81/4/16 104/20/16
f 264/17/16 82/14/16 78/12/16
f 82/14/16 264/17/16 123/22/16 77/23/16
f 105/24/16 79/2/16 76/1/16
f 79/2/16 105/24/16 124/18/16 71/6/16
f 111/1/17 110/2/17 134/2/17 131/1/17
f 107/3/18 116/4/18 136/4/18 128/3/18
f 114/5/19 107/3/19 128/3/19 127/5/19
f 110/2/17 106/6/17 126/6/17 134/2/17
f 112/7/20 111/1/20 140/1/20 142/7/20
f 111/1/21 112/7/21 110/2/21
f 113/8/21 115/9/21 114/5/21
f 116/4/21 118/10/21 117/11/21
f 120/12/21 121/13/21 119/14/21
f 121/13/22 120/12/22 150/12/22 157/13/22
f 118/10/23 116/4/23 144/4/23 145/10/23
f 123/15/21 130/16/21 133/12/21 160/17/21
f 125/18/21 126/6/21 135/8/21 158/19/21
f 128/3/21 136/4/21 159/20/21 122/21/21
f 124/22/21 132/23/21 131/1/21 161/24/21
f 116/4/18 117/11/18 129/11/18 136/4/18
f 117/11/18 108/16/18 130/16/18 129/11/18
f 106/6/19 113/8/19 135/8/19 126/6/19
f 109/23/17 111/1/17 131/1/17 132/23/17
f 119/14/24 109/23/24 132/23/24 137/14/24
f 113/8/19 114/5/19 127/5/19 135/8/19
f 120/12/24 119/14/24 137/14/24 133/12/24
f 108/16/24 120/12/24 133/12/24 130/16/24
f 141/23/21 146/14/21 140/1/21
f 140/1/21 146/14/21 147/13/21 142/7/21
f 138/5/21 144/4/21 139/3/21
f 142/7/21 147/13/21 145/10/21 143/9/21
f 143/9/21 145/10/21 144/4/21 138/5/21
f 157/13/25 156/10/25 145/10/25 147/13/25
f 114/5/26 115/9/26 143/9/26 138/5/26
f 119/14/27 121/13/27 147/13/27 146/14/27
f 152/2/21 154/8/21 151/6/21
f 148/11/21 150/12/21 149/16/21
f 153/7/21 155/9/21 154/8/21 152/2/21
f 156/10/21 157/13/21 150/12/21 148/11/21
f 115/9/28 113/8/28 154/8/28 155/9/28
f 110/2/29 112/7/29 153/7/29 152/2/29
f 143/9/30 155/9/30 153/7/30 142/7/30
f 117/11/31 118/10/31 156/10/31 148/11/31
f 158/19/21 135/8/21 127/5/21
f 127/5/21 128/3/21 122/21/21 158/19/21
f 159/20/21 129/11/21 130/16/21 123/15/21
f 129/11/21 159/20/21 136/4/21
f 160/17/21 133/12/21 137/14/21
f 137/14/21 132/23/21 124/22/21 160/17/21
f 161/24/21 131/1/21 134/2/21
f 134/2/21 126/6/21 125/18/21 161/24/21
f 167/1/17 183/1/17 186/2/17 166/2/17
f 163/3/18 180/3/18 188/4/18 172/4/18
f 170/5/19 179/5/19 180/3/19 163/3/19
f 166/2/17 186/2/17 178/6/17 162/6/17
f 168/7/20 194/7/20 192/1/20 167/1/20
f 167/1/1 166/2/1 168/7/1
f 169/8/1 170/5/1 171/9/1
f 172/4/1 173/11/1 174/10/1
f 176/12/1 175/14/1 177/13/1
f 177/13/22 209/13/22 202/12/22 176/12/22
f 174/10/23 197/10/23 196/4/23 172/4/23
f 229/15/1 211/17/1 185/12/1 182/16/1
f 17/18/1 210/19/1 187/8/1 178/6/1
f 180/3/1 18/21/1 263/20/1 188/4/1
f 282/22/1 212/24/1 183/1/1 184/23/1
f 172/4/18 188/4/18 181/11/18 173/11/18
f 173/11/18 181/11/18 182/16/18 164/16/18
f 162/6/19 178/6/19 187/8/19 169/8/19
f 165/23/17 184/23/17 183/1/17 167/1/17
f 175/14/24 189/14/24 184/23/24 165/23/24
f 169/8/19 187/8/19 179/5/19 170/5/19
f 176/12/24 185/12/24 189/14/24 175/14/24
f 164/16/24 182/16/24 185/12/24 176/12/24
f 193/23/1 192/1/1 198/14/1
f 192/1/1 194/7/1 199/13/1 198/14/1
f 190/5/1 191/3/1 196/4/1
f 194/7/1 195/9/1 197/10/1 199/13/1
f 195/9/1 190/5/1 196/4/1 197/10/1
f 209/13/25 199/13/25 197/10/25 208/10/25
f 170/5/26 190/5/26 195/9/26 171/9/26
f 175/14/27 198/14/27 199/13/27 177/13/27
f 204/2/1 203/6/1 206/8/1
f 200/11/1 201/16/1 202/12/1
f 205/7/1 204/2/1 206/8/1 207/9/1
f 208/10/1 200/11/1 202/12/1 209/13/1
f 171/9/28 207/9/28 206/8/28 169/8/28
f 166/2/29 204/2/29 205/7/29 168/7/29
f 195/9/30 194/7/30 205/7/30 207/9/30
f 173/11/31 200/11/31 208/10/31 174/10/31
f 210/19/1 179/5/1 187/8/1
f 179/5/1 210/19/1 18/21/1 180/3/1
f 263/20/1 229/15/1 182/16/1 181/11/1
f 181/11/1 188/4/1 263/20/1
f 211/17/1 189/14/1 185/12/1
f 189/14/1 211/17/1 282/22/1 184/23/1
f 212/24/1 186/2/1 183/1/1
f 186/2/1 212/24/1 17/18/1 178/6/1
f 218/1/1 217/2/1 238/2/1 235/1/1
f 214/3/32 223/4/32 240/4/32 232/3/32
f 221/5/33 214/3/33 232/3/33 231/5/33
f 217/2/1 213/6/1 230/6/1 238/2/1
f 219/7/34 218/1/34 244/1/34 246/7/34
f 218/1/17 219/7/17 217/2/17
f 220/8/17 222/9/17 221/5/17
f 223/4/17 225/10/17 224/11/17
f 227/12/17 228/13/17 226/14/17
f 228/13/35 227/12/35 254/12/35 261/13/35
f 225/10/36 223/4/36 248/4/36 249/10/36
f 229/15/17 234/16/17 237/12/17 264/17/17
f 122/18/17 230/6/17 239/8/17 262/19/17
f 232/3/17 240/4/17 263/20/17 18/21/17
f 123/22/17 236/23/17 235/1/17 265/24/17
f 223/4/32 224/11/32 233/11/32 240/4/32
f 224/11/32 215/16/32 234/16/32 233/11/32
f 213/6/33 220/8/33 239/8/33 230/6/33
f 216/23/1 218/1/1 235/1/1 236/23/1
f 226/14/37 216/23/37 236/23/37 241/14/37
f 220/8/33 221/5/33 231/5/33 239/8/33
f 227/12/37 226/14/37 241/14/37 237/12/37
f 215/16/37 227/12/37 237/12/37 234/16/37
f 245/23/17 250/14/17 244/1/17
f 244/1/17 250/14/17 251/13/17 246/7/17
f 242/5/17 248/4/17 243/3/17
f 246/7/17 251/13/17 249/10/17 247/9/17
f 247/9/17 249/10/17 248/4/17 242/5/17
f 261/13/38 260/10/38 249/10/38 251/13/38
f 221/5/39 222/9/39 247/9/39 242/5/39
f 226/14/40 228/13/40 251/13/40 250/14/40
f 256/2/17 258/8/17 255/6/17
f 252/11/17 254/12/17 253/16/17
f 257/7/17 259/9/17 258/8/17 256/2/17
f 260/10/17 261/13/17 254/12/17 252/11/17
f 222/9/41 220/8/41 258/8/41 259/9/41
f 217/2/42 219/7/42 257/7/42 256/2/42
f 247/9/43 259/9/43 257/7/43 246/7/43
f 224/11/44 225/10/44 260/10/44 252/11/44
f 262/19/17 239/8/17 231/5/17
f 231/5/17 232/3/17 18/21/17 262/19/17
f 263/20/17 233/11/17 234/16/17 229/15/17
f 233/11/17 263/20/17 240/4/17
f 264/17/17 237/12/17 241/14/17
f 241/14/17 236/23/17 123/22/17 264/17/17
f 265/24/17 235/1/17 238/2/17
f 238/2/17 230/6/17 122/18/17 265/24/17
f 271/1/1 288/1/1 291/2/1 270/2/1
f 267/3/32 285/3/32 293/4/32 276/4/32
f 274/5/33 284/5/33 285/3/33 267/3/33
f 270/2/1 291/2/1 283/6/1 266/6/1
f 272/7/34 299/7/34 297/1/34 271/1/34
f 271/1/45 270/2/45 272/7/45
f 273/8/45 274/5/45 275/9/45
f 276/4/45 277/11/45 278/10/45
f 280/12/45 279/14/45 281/13/45
f 281/13/35 314/13/35 307/12/35 280/12/35
f 278/10/36 302/10/36 301/4/36 276/4/36
f 282/15/45 316/17/45 290/12/45 287/16/45
f 125/18/45 51/19/45 292/8/45 283/6/45
f 285/3/45 17/21/45 315/20/45 293/4/45
f 124/22/45 161/24/45 288/1/45 289/23/45
f 276/4/32 293/4/32 286/11/32 277/11/32
f 277/11/32 286/11/32 287/16/32 268/16/32
f 266/6/33 283/6/33 292/8/33 273/8/33
f 269/23/1 289/23/1 288/1/1 271/1/1
f 279/14/37 294/14/37 289/23/37 269/23/37
f 273/8/33 292/8/33 284/5/33 274/5/33
f 280/12/37 290/12/37 294/14/37 279/14/37
f 268/16/37 287/16/37 290/12/37 280/12/37
f 298/23/45 297/1/45 303/14/45
f 297/1/45 299/7/45 304/13/45 303/14/45
f 295/5/45 296/3/45 301/4/45
f 299/7/45 300/9/45 302/10/45 304/13/45
f 300/9/45 295/5/45 301/4/45 302/10/45
f 314/13/38 304/13/38 302/10/38 313/10/38
f 274/5/39 295/5/39 300/9/39 275/9/39
f 279/14/40 303/14/40 304/13/40 281/13/40
f 309/2/45 308/6/45 311/8/45
f 305/11/45 306/16/45 307/12/45
f 310/7/45 309/2/45 311/8/45 312/9/45
f 313/10/45 305/11/45 307/12/45 314/13/45
f 275/9/41 312/9/41 311/8/41 273/8/41
f 270/2/42 309/2/42 310/7/42 272/7/42
f 300/9/43 299/7/43 310/7/43 312/9/43
f 277/11/44 305/11/44 313/10/44 278/10/44
f 51/19/45 284/5/45 292/8/45
f 284/5/45 51/19/45 17/21/45 285/3/45
f 315/20/45 282/15/45 287/16/45 286/11/45
f 286/11/45 293/4/45 315/20/45
f 316/17/45 294/14/45 290/12/45
f 294/14/45 316/17/45 124/22/45 289/23/45
f 161/24/45 291/2/45 288/1/45
f 291/2/45 161/24/45 125/18/45 283/6/45

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -35,7 +35,8 @@ fn start_module(args: core.ModuleLoaderArgs) !void {
// getting rid of dumb comment
//log("gonna try something dumb- lets patch the vtable of that old object with my vtable's values", .{});
const ref = core.getEngineObjectRef(ExternGameObject).?;
ref.vtable.tick_func = ExternGameObject.NeonObjectTable.tick_func;
const vtable: *core.EngineObjectVTable = @constCast(ref.vtable);
vtable.* = ExternGameObject.NeonObjectTable;
core.PatchStruct(ExternGameObject, @ptrCast(@alignCast(ref.ptr)), ref.vtable.fieldList.?);
}
@ -87,9 +88,35 @@ pub const ExternGameObject = struct {
_ = fireInput.data.addListener(self, onFire);
fireInput.activate();
const settings: physics.ShapeSettings = .{ .box = try physics.BoxShapeSettings.create(.{ 1.0, 1.0, 1.0 }) };
defer settings.release();
try physics.addShape("ph_small_box", settings);
return self;
}
pub fn addBox(position: core.Vectorf) !void {
const box2 = try core.createEntity();
const scene = box2.addComponent(core.Scene).?;
const mesh = box2.addComponent(rend.MeshComponent).?;
mesh.setMesh("m_crate");
mesh.setTexture("t_crate");
scene.setPosition(position);
scene.setScaleV(core.Vectorf.fromInt(1.0));
scene.setMobility(.moveable);
const collider = box2.addComponent(physics.PhysicsCollider).?;
try collider.setupByShapeName(core.MakeName("ph_small_box"), .{
.motion_type = .dynamic,
.object_layer = physics.ObjectLayers.moving,
.friction = 0.8,
.mass_properties_override = .{ .mass = 12 },
.override_mass_properties = .calc_inertia,
});
}
fn onFire(ctx: ?*anyopaque, _: core.ActionEvent) void {
const self: *@This() = @ptrCast(@alignCast(ctx));
@ -101,6 +128,7 @@ pub const ExternGameObject = struct {
const p = r.point.add(n.fmul(0.2));
core.debugSphere(p, 0.2, .{ .color = .{ .y = 1.0 }, .duration = 10.0 });
addBox(p.add(n.fmul(1.0))) catch unreachable;
rend.context().lightPosition = p;
}

View File

@ -58,6 +58,14 @@ const assetReferences = [_]assets.AssetImportReference{
"t_fox",
.{ .path = "gltf-samples/Fox/glTF/Texture.png" },
),
assets.MakeImportRefOptions("Texture", "t_crate", .{
.path = "textures/Crate.png",
}),
assets.MakeImportRefOptions(
"Mesh",
"m_crate",
.{ .path = "meshes/crate.obj" },
),
assets.MakeImportRefOptions(
"Texture",
"t_skybox",