94cecfe810
header: render materials array, material_index, buffer paths
2026-04-12 23:53:34 -05:00
70b46b0dd8
header: bug: input element indices are global, not per-<triangles>
...
This was never triggered in previous commits because all prior tests
were with Collada files that only used a single vertex format for the
entire file (therefore index=0 is always correct).
3ds Max CAT bones are (very appropriately) exported with no texture
coordinates, and therefore require a different vertex attribute
declaration with a different stride.
Coincidentally, this meant that CAT meshes were rendered with the
correct vertex attribute, while all (e.g: non-CAT, containing texture
coordinates) meshes incorrectly used the CAT vertex attributes, which
resulted in garbled nonsensical renderings with meaningless garbage
vertex data.
This bug alone consumed at least 4 hours of focused debugging
time. Because the Collada file that triggered this also contained a
complex skeleton, I was originally convinced that the "vertex
transformation result is garbage" bug was caused by something more
directly related to the animation/joint transform calculation.
2026-03-31 19:10:13 -05:00
58b9c254f2
collada: explicit namespace name from argv
...
This also adds a hack for replacing .png with .dds (maybe the run-time
should be responsible for this? perhaps image extension replacement
should be a command-line argument?).
Improved get_node_name_id behavior for <node> elements with no id and
no name.
2026-03-31 19:08:13 -05:00
6c0bb1fe12
collada: use collada::types namespace
2026-03-31 13:03:07 -05:00
69f6ebbef3
collada/lua_header: avoid lua's local variable limit
2026-02-25 03:10:46 +00:00
e41f8667f0
collada: lua: emit uri in image table
2026-02-24 16:53:18 +00:00
727f5ff8d7
collada: add support for lua source generation
2026-02-23 19:23:32 +00:00
4603ebcec2
collada: factor out C++ code generation to cpp_header module
2026-02-23 05:32:27 +00:00
a7dfd1b782
collada_scene: load vertex/index buffers from descriptor
2026-02-02 21:57:50 -06:00
86b0abad5b
collada_scene: render ship20
2026-02-02 20:23:34 -06:00
fcbaf7ab66
collada: partial support for cameras
2026-02-02 19:53:55 -06:00
d7183c1b39
collada_scene: render skinned animation
2026-01-30 14:45:11 -06:00
b72f978f6a
collada_scene: render skins using skin vertex layouts
2026-01-30 11:30:40 -06:00
a672190459
render instance controllers
2026-01-30 10:10:31 -06:00
fda7c28b2c
collada: emit joint weight vertex buffer
2026-01-30 09:47:28 -06:00
acc14843cd
collada: emit instance controllers, skins, inverse bind matrices, joint indices
2026-01-30 00:18:10 -06:00
4afebb4380
Makefile: combine rc files
2026-01-29 20:20:41 -06:00
21f3de998c
collada_scene: render scene textures
2026-01-29 20:05:22 -06:00
af165a3843
collada: render make and resource files
2026-01-29 18:41:34 -06:00
5f0f933224
collada/header: render effect texture and image data structures
2026-01-29 17:44:22 -06:00
2118b1fbd9
render_state: add DDS texture image loading
2026-01-29 13:27:38 -06:00
b9cfcde9c7
collada_scene: implement directional lighting
2026-01-28 23:38:17 -06:00
4d952b0a90
collada/header: add lights
...
This also automates the collada header/buffer build process.
2026-01-28 21:07:13 -06:00
683115e0c1
collada: implement animated rotate and scale
...
This also improves the correctness of channel source interpretation.
2026-01-27 22:02:25 -06:00
6a2a74a0f6
collada_scene: cubic bezier interpolation
2026-01-27 18:10:11 -06:00
b0906ecdc6
collada_scene: linear interpolation
2026-01-27 14:43:45 -06:00
e4bb6c2616
collada/header: precalculate fully linearized node list
2026-01-27 13:05:43 -06:00
2860311f8a
align transform allocations
2026-01-27 12:11:11 -06:00
ff5d2da6dc
collada_scene: add mutable node transforms
2026-01-26 23:49:13 -06:00
b052718d7e
collada/header: reference node transforms by index rather than by type
2026-01-26 21:19:53 -06:00
f939e70bf9
collada/header: generate animation channels
2026-01-26 20:47:22 -06:00
802136c03c
collada_scene: render materials
2026-01-26 20:46:54 -06:00
b8cea38d9f
collada_scene: basic scene rendering
2026-01-26 13:21:12 -06:00
67820fce2b
collada: add main frontend
2026-01-25 23:31:14 -06:00
fec67091a1
src: normalize cpp/hpp to DOS line endings
2026-01-25 23:09:41 -06:00
0d1a363790
collada: normalize cpp/hpp/fx to dos line endings
2026-01-25 23:09:23 -06:00
03b0299415
collada/header: generate reasonably complete header for instance_geometry nodes
2026-01-25 22:04:24 -06:00
88dd523715
collada/buffer: also generate index buffer offsets
2026-01-25 16:14:33 -06:00
02b2f1a95f
collada/buffer: correctly handle <mesh> with more than one <triangles>
2026-01-25 16:04:51 -06:00
2a0d4dd20b
initial collada metadata data model
2026-01-25 00:15:50 -06:00
27824a0de1
collada: render animated/skinned cube
2026-01-24 17:31:01 -06:00
e868d33281
initial collada mesh rendering
2026-01-24 01:14:40 -06:00
9058d453ed
input: ignore uninitialized XINPUT_STATE
2026-01-23 20:12:24 -06:00
39c44fe3e2
src: reorder skinned mesh input layout
2026-01-23 20:11:40 -06:00
bbe99240d6
parse: improve parsing behavior for unimplemented collada features
2026-01-23 18:57:34 -06:00
83bb7498eb
parse: add support for animations
2026-01-23 18:16:36 -06:00
bccb3632ae
collada: incomplete collada file parser
2026-01-23 18:16:36 -06:00
add3facb88
attempt to create non-debug device if D3D10_CREATE_DEVICE_DEBUG fails
2026-01-22 00:46:17 -06:00
6cfa7ec571
RenderVolumeMesh: draw 3d volume as instanced cubes
2026-01-13 21:24:47 -06:00
ead9c883fe
view rotation and translation
2026-01-13 20:15:21 -06:00