From 802136c03c89a3186fbad8a650e429ac4ac642f0 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Mon, 26 Jan 2026 20:46:54 -0600 Subject: [PATCH] collada_scene: render materials --- .../curve_interpolation.DAE | 1582 ++++++++--------- models/skinned_cube/skinned_cube.DAE | 402 ++++- models/skinned_cube/skinned_cube.max | Bin 208896 -> 249856 bytes src/collada_scene.cpp | 51 +- src/effect/collada_scene.fx | 15 +- src/main.cpp | 8 +- 6 files changed, 1229 insertions(+), 829 deletions(-) diff --git a/models/curve_interpolation/curve_interpolation.DAE b/models/curve_interpolation/curve_interpolation.DAE index eeb1d4f..64889c2 100755 --- a/models/curve_interpolation/curve_interpolation.DAE +++ b/models/curve_interpolation/curve_interpolation.DAE @@ -1,792 +1,792 @@ - - - - - bilbo - OpenCOLLADA for 3ds Max; Version: 1.6; Revision: 68 - file:///C:/cygwin/home/bilbo/d3d10/models/curve_interpolation/curve_interpolation.max - - 2026-01-25T13:40:01 - 2026-01-25T13:40:01 - - Z_UP - - - - - - - - 0 0 0 1 - - - 0.6705883 0.5843138 1 1 - - - 0.6705883 0.5843138 1 1 - - - 0 0 0 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - 0 - 0 - 0 - 1.5 - 1 - 0 - 0 - 0 - 3 - - - 1 - 1 - 0 - 0 - 0 - 0 - 0.1 - - - - - - - - - - 0 0 0 1 - - - 0.5803922 1 0.9647059 1 - - - 0.5803922 1 0.9647059 1 - - - 0 0 0 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - 0 - 0 - 0 - 1.5 - 1 - 0 - 0 - 0 - 3 - - - 1 - 1 - 0 - 0 - 0 - 0 - 0.1 - - - - - - - - - - 0 0 0 1 - - - 0.6509804 1 0.5803922 1 - - - 0.6509804 1 0.5803922 1 - - - 0 0 0 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - 0 - 0 - 0 - 1.5 - 1 - 0 - 0 - 0 - 3 - - - 1 - 1 - 0 - 0 - 0 - 0 - 0.1 - - - - - - - - - - 0 0 0 1 - - - 0.9333334 1 0.5647059 1 - - - 0.9333334 1 0.5647059 1 - - - 0 0 0 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - 0 - 0 - 0 - 1.5 - 1 - 0 - 0 - 0 - 3 - - - 1 - 1 - 0 - 0 - 0 - 0 - 0.1 - - - - - - - - - - 0 0 0 1 - - - 1 0.7686275 0.5803922 1 - - - 1 0.7686275 0.5803922 1 - - - 0 0 0 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - 0 - 0 - 0 - 1.5 - 1 - 0 - 0 - 0 - 3 - - - 1 - 1 - 0 - 0 - 0 - 0 - 0.1 - - - - - - - - - - 0 0 0 1 - - - 1 0.5803922 0.5803922 1 - - - 1 0.5803922 0.5803922 1 - - - 0 0 0 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - 0 - 0 - 0 - 1.5 - 1 - 0 - 0 - 0 - 3 - - - 1 - 1 - 0 - 0 - 0 - 0 - 0.1 - - - - - - - - - - 0.8980392 0.6039216 0.8431373 1 - - - 0.8980392 0.6039216 0.8431373 1 - - - 1 1 1 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - - - - 0.1098039 0.5843137 0.6941176 1 - - - 0.1098039 0.5843137 0.6941176 1 - - - 1 1 1 1 - - - 10 - - - 0 0 0 1 - - - 1 1 1 1 - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -0.5 -0.5 0 0.5 -0.5 0 -0.5 0.5 0 0.5 0.5 0 -0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 1 0.5 0.5 1 - - - - - - - - - - 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 - - - - - - - - - - 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 - - - - - - - - - - - - - - - -

0 0 0 2 1 2 3 2 3 3 2 3 1 3 1 0 0 0

-
- - - - -

4 4 4 5 5 5 7 6 7 7 6 7 6 7 6 4 4 4

-
- - - - -

0 8 8 1 9 9 5 10 11 5 10 11 4 11 10 0 8 8

-
- - - - -

1 12 12 3 13 13 7 14 15 7 14 15 5 15 14 1 12 12

-
- - - - -

3 16 16 2 17 17 6 18 19 6 18 19 7 19 18 3 16 16

-
- - - - -

2 20 20 0 21 21 4 22 23 4 22 23 6 23 22 2 20 20

-
-
-
- - - - 10 0 0 9.807853 1.950903 0 9.238795 3.826834 0 8.314696 5.555702 0 7.071068 7.071068 0 5.555702 8.314696 0 3.826834 9.238795 0 1.950904 9.807853 0 7.54979e-7 10 0 -1.950902 9.807853 0 -3.826833 9.238796 0 -5.555702 8.314696 0 -7.071068 7.071068 0 -8.314696 5.555702 0 -9.238796 3.826833 0 -9.807854 1.950901 0 -10 -3.25841e-6 0 -9.807852 -1.950907 0 -9.238793 -3.826839 0 -8.314693 -5.555707 0 -7.071063 -7.071073 0 -5.555696 -8.3147 0 -3.826827 -9.238798 0 -1.950894 -9.807855 0 9.65599e-6 -10 0 1.950913 -9.807851 0 3.826845 -9.238791 0 5.555712 -8.31469 0 7.071077 -7.071059 0 8.314704 -5.555691 0 9.238801 -3.826821 0 9.807856 -1.950888 0 - - - - - - - - - - 0 0 1 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 0.9999999 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 0.9999999 0 0 0.9999999 0 0 1 - - - - - - - - - - 0.5975444 0.9903928 -0.25 0.691341 0.9619401 -0.25 0.7777845 0.9157352 -0.25 0.8535529 0.8535539 -0.25 0.9157345 0.7777857 -0.25 0.9619396 0.6913422 -0.25 0.9903926 0.5975457 -0.25 1 0.5000005 -0.25 0.9903927 0.4024553 -0.25 0.9619399 0.3086587 -0.25 0.915735 0.2222152 -0.25 0.8535537 0.1464469 -0.25 0.7777854 0.08426532 -0.25 0.6913419 0.03806034 -0.25 0.5975454 0.009607404 -0.25 0.5000002 0 -0.25 0.402455 0.009607315 -0.25 0.3086584 0.03806019 -0.25 0.2222149 0.08426517 -0.25 0.1464466 0.1464466 -0.25 0.08426517 0.2222149 -0.25 0.03806019 0.3086583 -0.25 0.009607345 0.4024549 -0.25 0 0.5 -0.25 0.009607345 0.5975451 -0.25 0.03806022 0.6913417 -0.25 0.08426517 0.7777851 -0.25 0.1464466 0.8535534 -0.25 0.2222148 0.9157348 -0.25 0.3086582 0.9619398 -0.25 0.4024548 0.9903927 -0.25 0.5 1 -0.25 - - - - - - - - - - - - - - - -

0 0 31 1 1 30 2 2 29 2 2 29 3 3 28 4 4 27 0 0 31 2 2 29 4 4 27 4 4 27 5 5 26 6 6 25 6 6 25 7 7 24 8 8 23 4 4 27 6 6 25 8 8 23 0 0 31 4 4 27 8 8 23 8 8 23 9 9 22 10 10 21 10 10 21 11 11 20 12 12 19 8 8 23 10 10 21 12 12 19 12 12 19 13 13 18 14 14 17 14 14 17 15 15 16 16 16 15 12 12 19 14 14 17 16 16 15 8 8 23 12 12 19 16 16 15 0 0 31 8 8 23 16 16 15 16 16 15 17 17 14 18 18 13 18 18 13 19 19 12 20 20 11 16 16 15 18 18 13 20 20 11 20 20 11 21 21 10 22 22 9 22 22 9 23 23 8 24 24 7 20 20 11 22 22 9 24 24 7 16 16 15 20 20 11 24 24 7 0 0 31 16 16 15 24 24 7 24 24 7 25 25 6 26 26 5 26 26 5 27 27 4 28 28 3 24 24 7 26 26 5 28 28 3 0 0 31 24 24 7 28 28 3 28 28 3 29 29 2 30 30 1 0 0 31 28 28 3 30 30 1 31 31 0 0 0 31 30 30 1

-
-
-
- - - - -7.071065 -7.071065 0 7.071065 -7.071065 0 -7.071065 7.071065 0 7.071065 7.071065 0 - - - - - - - - - - 0 0 1 0 0 0.9999999 0 0 0.9999999 0 0 1 - - - - - - - - - - 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 - - - - - - - - - - - - - - - -

2 0 6 0 1 4 3 2 7 1 3 5 3 2 7 0 1 4

-
-
- - - - 14.14213 - 14.14213 - 1 - 1 - 1 - 1 - 1 - - - -
-
- - - - - 0 0 0 - - - - - - - - - - - 10 0 0 - - - - - - - - - - - - - - - 1 - 1 - 1 - 1 - - - - - - - - - - - - - - 1 - 1 - 1 - 1 - - - - - 0 0 0.01 - 0 0 -1 -44.99999 - - - - - - - - - - 1 - 1 - 1 - 1 - - - - - - - - - 0 1.666667 3.333333 5 - - - - - - - - 10 -10 10 -10 - - - - - - - - -0.3332306 10 1.111167 -10 2.778333 10 4.4445 -9.219337 - - - - - - - - - 0.5555 10 2.222167 -10 3.888333 10 4.000208 -8.594958 - - - - - - - - - BEZIER BEZIER BEZIER BEZIER - - - - - - - - -0.8333334 0.8333334 2.5 4.166667 - - - - - - - - -10.05776 10.05852 -9.941484 10.05852 - - - - - - - - -1.166264 -10.05776 0.2778334 10.05852 1.9445 -9.941484 3.611667 10.05852 - - - - - - - - - -0.2783333 -10.05776 1.388833 10.05852 3.0555 -9.941484 4.499598 10.05852 - - - - - - - - - BEZIER BEZIER BEZIER BEZIER - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + bilbo + OpenCOLLADA for 3ds Max; Version: 1.6; Revision: 68 + file:///C:/cygwin/home/bilbo/d3d10/models/curve_interpolation/curve_interpolation.max + + 2026-01-26T20:45:12 + 2026-01-26T20:45:12 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.6705883 0.5843138 1 1 + + + 0.6705883 0.5843138 1 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.5803922 1 0.9647059 1 + + + 0.5803922 1 0.9647059 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.6509804 1 0.5803922 1 + + + 0.6509804 1 0.5803922 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.9333334 1 0.5647059 1 + + + 0.9333334 1 0.5647059 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 1 0.7686275 0.5803922 1 + + + 1 0.7686275 0.5803922 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 1 0.5803922 0.5803922 1 + + + 1 0.5803922 0.5803922 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0.8980392 0.6039216 0.8431373 1 + + + 0.8980392 0.6039216 0.8431373 1 + + + 1 1 1 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + + + + 0.1098039 0.5843137 0.6941176 1 + + + 0.1098039 0.5843137 0.6941176 1 + + + 1 1 1 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -0.5 -0.5 0 0.5 -0.5 0 -0.5 0.5 0 0.5 0.5 0 -0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 1 0.5 0.5 1 + + + + + + + + + + 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 + + + + + + + + + + 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 + + + + + + + + + + + + + + + +

0 0 0 2 1 2 3 2 3 3 2 3 1 3 1 0 0 0

+
+ + + + +

4 4 4 5 5 5 7 6 7 7 6 7 6 7 6 4 4 4

+
+ + + + +

0 8 8 1 9 9 5 10 11 5 10 11 4 11 10 0 8 8

+
+ + + + +

1 12 12 3 13 13 7 14 15 7 14 15 5 15 14 1 12 12

+
+ + + + +

3 16 16 2 17 17 6 18 19 6 18 19 7 19 18 3 16 16

+
+ + + + +

2 20 20 0 21 21 4 22 23 4 22 23 6 23 22 2 20 20

+
+
+
+ + + + 10 0 0 9.807853 1.950903 0 9.238795 3.826834 0 8.314696 5.555702 0 7.071068 7.071068 0 5.555702 8.314696 0 3.826834 9.238795 0 1.950904 9.807853 0 7.54979e-7 10 0 -1.950902 9.807853 0 -3.826833 9.238796 0 -5.555702 8.314696 0 -7.071068 7.071068 0 -8.314696 5.555702 0 -9.238796 3.826833 0 -9.807854 1.950901 0 -10 -3.25841e-6 0 -9.807852 -1.950907 0 -9.238793 -3.826839 0 -8.314693 -5.555707 0 -7.071063 -7.071073 0 -5.555696 -8.3147 0 -3.826827 -9.238798 0 -1.950894 -9.807855 0 9.65599e-6 -10 0 1.950913 -9.807851 0 3.826845 -9.238791 0 5.555712 -8.31469 0 7.071077 -7.071059 0 8.314704 -5.555691 0 9.238801 -3.826821 0 9.807856 -1.950888 0 + + + + + + + + + + 0 0 1 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 0.9999999 0 0 0.9999999 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 0.9999999 0 0 1 0 0 1 0 0 0.9999999 0 0 0.9999999 0 0 1 + + + + + + + + + + 0.5975444 0.9903928 -0.25 0.691341 0.9619401 -0.25 0.7777845 0.9157352 -0.25 0.8535529 0.8535539 -0.25 0.9157345 0.7777857 -0.25 0.9619396 0.6913422 -0.25 0.9903926 0.5975457 -0.25 1 0.5000005 -0.25 0.9903927 0.4024553 -0.25 0.9619399 0.3086587 -0.25 0.915735 0.2222152 -0.25 0.8535537 0.1464469 -0.25 0.7777854 0.08426532 -0.25 0.6913419 0.03806034 -0.25 0.5975454 0.009607404 -0.25 0.5000002 0 -0.25 0.402455 0.009607315 -0.25 0.3086584 0.03806019 -0.25 0.2222149 0.08426517 -0.25 0.1464466 0.1464466 -0.25 0.08426517 0.2222149 -0.25 0.03806019 0.3086583 -0.25 0.009607345 0.4024549 -0.25 0 0.5 -0.25 0.009607345 0.5975451 -0.25 0.03806022 0.6913417 -0.25 0.08426517 0.7777851 -0.25 0.1464466 0.8535534 -0.25 0.2222148 0.9157348 -0.25 0.3086582 0.9619398 -0.25 0.4024548 0.9903927 -0.25 0.5 1 -0.25 + + + + + + + + + + + + + + + +

0 0 31 1 1 30 2 2 29 2 2 29 3 3 28 4 4 27 0 0 31 2 2 29 4 4 27 4 4 27 5 5 26 6 6 25 6 6 25 7 7 24 8 8 23 4 4 27 6 6 25 8 8 23 0 0 31 4 4 27 8 8 23 8 8 23 9 9 22 10 10 21 10 10 21 11 11 20 12 12 19 8 8 23 10 10 21 12 12 19 12 12 19 13 13 18 14 14 17 14 14 17 15 15 16 16 16 15 12 12 19 14 14 17 16 16 15 8 8 23 12 12 19 16 16 15 0 0 31 8 8 23 16 16 15 16 16 15 17 17 14 18 18 13 18 18 13 19 19 12 20 20 11 16 16 15 18 18 13 20 20 11 20 20 11 21 21 10 22 22 9 22 22 9 23 23 8 24 24 7 20 20 11 22 22 9 24 24 7 16 16 15 20 20 11 24 24 7 0 0 31 16 16 15 24 24 7 24 24 7 25 25 6 26 26 5 26 26 5 27 27 4 28 28 3 24 24 7 26 26 5 28 28 3 0 0 31 24 24 7 28 28 3 28 28 3 29 29 2 30 30 1 0 0 31 28 28 3 30 30 1 31 31 0 0 0 31 30 30 1

+
+
+
+ + + + -7.071065 -7.071065 0 7.071065 -7.071065 0 -7.071065 7.071065 0 7.071065 7.071065 0 + + + + + + + + + + 0 0 1 0 0 0.9999999 0 0 0.9999999 0 0 1 + + + + + + + + + + 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 + + + + + + + + + + + + + + + +

2 0 6 0 1 4 3 2 7 1 3 5 3 2 7 0 1 4

+
+
+ + + + 14.14213 + 14.14213 + 1 + 1 + 1 + 1 + 1 + + + +
+
+ + + + + 0 0 0 + + + + + + + + + + + 10 -1.14258e-7 0 + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + 0 0 0.01 + 0 0 -1 -44.99999 + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + 0 1.666667 3.333333 5 + + + + + + + + 10 -10 10 -10 + + + + + + + + -0.3332306 10 1.111167 -10 2.778333 10 4.4445 -9.219337 + + + + + + + + + 0.5555 10 2.222167 -10 3.888333 10 4.000208 -8.594958 + + + + + + + + + BEZIER BEZIER BEZIER BEZIER + + + + + + + + -0.8333334 0.8333334 2.5 4.166667 + + + + + + + + -10.05776 10.05852 -9.941484 10.05852 + + + + + + + + -1.166264 -10.05776 0.2778334 10.05852 1.9445 -9.941484 3.611667 10.05852 + + + + + + + + + -0.2783333 -10.05776 1.388833 10.05852 3.0555 -9.941484 4.499598 10.05852 + + + + + + + + + BEZIER BEZIER BEZIER BEZIER + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/models/skinned_cube/skinned_cube.DAE b/models/skinned_cube/skinned_cube.DAE index 542a014..eb3a1c7 100755 --- a/models/skinned_cube/skinned_cube.DAE +++ b/models/skinned_cube/skinned_cube.DAE @@ -6,24 +6,27 @@ OpenCOLLADA for 3ds Max; Version: 1.6; Revision: 68 file:///C:/cygwin/home/bilbo/d3d10/models/skinned_cube/skinned_cube.max - 2026-01-24T13:01:29 - 2026-01-24T13:01:29 + 2026-01-25T14:06:19 + 2026-01-25T14:06:19 Z_UP - + - + + + 0 0 0 1 + - 0.1019608 0.6941176 0.1019608 1 + 0.5882353 0.5882353 1 1 - 0.1019608 0.6941176 0.1019608 1 + 0.5882353 0.5882353 1 1 - 1 1 1 1 + 0 0 0 1 10 @@ -31,20 +34,339 @@ 0 0 0 1 - + 1 1 1 1 1 - + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.5882353 0.9450981 1 1 + + + 0.5882353 0.9450981 1 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.5882353 1 0.6156863 1 + + + 0.5882353 1 0.6156863 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.9960785 1 0.5882353 1 + + + 0.9960785 1 0.5882353 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.9960785 0.8196079 0.5882353 1 + + + 0.9960785 0.8196079 0.5882353 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 1 0.5882353 0.5882353 1 + + + 1 0.5882353 0.5882353 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + - - + + + + + + + + + + + + + + + + + @@ -71,9 +393,9 @@ - 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 + 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 - + @@ -83,26 +405,43 @@ - + -

0 0 25 2 1 27 3 2 26 3 2 26 1 3 24 0 0 25 4 4 24 5 5 25 7 6 27 7 6 27 6 7 26 4 4 24 0 8 12 1 9 13 9 10 15 9 10 15 8 11 14 0 8 12 8 11 14 9 10 15 13 12 17 13 12 17 12 13 16 8 11 14 12 13 16 13 12 17 17 14 19 17 14 19 16 15 18 12 13 16 16 15 18 17 14 19 21 16 21 21 16 21 20 17 20 16 15 18 20 17 20 21 16 21 5 18 23 5 18 23 4 19 22 20 17 20 1 20 0 3 21 1 10 22 3 10 22 3 9 23 2 1 20 0 9 23 2 10 22 3 14 24 5 14 24 5 13 25 4 9 23 2 13 25 4 14 24 5 18 26 7 18 26 7 17 27 6 13 25 4 17 27 6 18 26 7 22 28 9 22 28 9 21 29 8 17 27 6 21 29 8 22 28 9 7 30 11 7 30 11 5 31 10 21 29 8 3 32 12 2 33 13 11 34 15 11 34 15 10 35 14 3 32 12 10 35 14 11 34 15 15 36 17 15 36 17 14 37 16 10 35 14 14 37 16 15 36 17 19 38 19 19 38 19 18 39 18 14 37 16 18 39 18 19 38 19 23 40 21 23 40 21 22 41 20 18 39 18 22 41 20 23 40 21 6 42 23 6 42 23 7 43 22 22 41 20 2 44 0 0 45 1 8 46 3 8 46 3 11 47 2 2 44 0 11 47 2 8 46 3 12 48 5 12 48 5 15 49 4 11 47 2 15 49 4 12 48 5 16 50 7 16 50 7 19 51 6 15 49 4 19 51 6 16 50 7 20 52 9 20 52 9 23 53 8 19 51 6 23 53 8 20 52 9 4 54 11 4 54 11 6 55 10 23 53 8

+

0 0 0 2 1 2 3 2 3 3 2 3 1 3 1 0 0 0

+
+ + + + +

4 4 4 5 5 5 7 6 7 7 6 7 6 7 6 4 4 4

+
+ + + + +

0 8 8 1 9 9 9 10 11 9 10 11 8 11 10 0 8 8 8 11 10 9 10 11 13 12 13 13 12 13 12 13 12 8 11 10 12 13 12 13 12 13 17 14 15 17 14 15 16 15 14 12 13 12 16 15 14 17 14 15 21 16 17 21 16 17 20 17 16 16 15 14 20 17 16 21 16 17 5 18 19 5 18 19 4 19 18 20 17 16

+
+ + + + +

1 20 20 3 21 21 10 22 23 10 22 23 9 23 22 1 20 20 9 23 22 10 22 23 14 24 25 14 24 25 13 25 24 9 23 22 13 25 24 14 24 25 18 26 27 18 26 27 17 27 26 13 25 24 17 27 26 18 26 27 22 28 29 22 28 29 21 29 28 17 27 26 21 29 28 22 28 29 7 30 31 7 30 31 5 31 30 21 29 28

+
+ + + + +

3 32 32 2 33 33 11 34 35 11 34 35 10 35 34 3 32 32 10 35 34 11 34 35 15 36 37 15 36 37 14 37 36 10 35 34 14 37 36 15 36 37 19 38 39 19 38 39 18 39 38 14 37 36 18 39 38 19 38 39 23 40 41 23 40 41 22 41 40 18 39 38 22 41 40 23 40 41 6 42 43 6 42 43 7 43 42 22 41 40

+
+ + + + +

2 44 44 0 45 45 8 46 47 8 46 47 11 47 46 2 44 44 11 47 46 8 46 47 12 48 49 12 48 49 15 49 48 11 47 46 15 49 48 12 48 49 16 50 51 16 50 51 19 51 50 15 49 48 19 51 50 16 50 51 20 52 53 20 52 53 23 53 52 19 51 50 23 53 52 20 52 53 4 54 55 4 54 55 6 55 54 23 53 52

- - - - 10 - 10 - 20 - 1 - 1 - 5 - 1 - - -
@@ -165,7 +504,12 @@ #node-Bone001 - + + + + + + diff --git a/models/skinned_cube/skinned_cube.max b/models/skinned_cube/skinned_cube.max index ab2ecc484a2a36897a368679aac6ef81cd2372b4..26054a48073f4ca2ab21e10ec159b14df3886402 100755 GIT binary patch delta 28802 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 J3~s9h{{folMa=*J diff --git a/src/collada_scene.cpp b/src/collada_scene.cpp index d955f38..3646875 100644 --- a/src/collada_scene.cpp +++ b/src/collada_scene.cpp @@ -21,6 +21,12 @@ namespace collada_scene { ID3D10EffectMatrixVariable * g_pViewVariable = NULL; ID3D10EffectMatrixVariable * g_pProjectionVariable = NULL; + ID3D10EffectVectorVariable * g_pEmissionVariable = NULL; + ID3D10EffectVectorVariable * g_pAmbientVariable = NULL; + ID3D10EffectVectorVariable * g_pDiffuseVariable = NULL; + ID3D10EffectVectorVariable * g_pSpecularVariable = NULL; + ID3D10EffectScalarVariable * g_pShininessVariable = NULL; + static inline DXGI_FORMAT dxgi_format(input_format format) { switch (format) { @@ -90,7 +96,7 @@ namespace collada_scene { bd.Usage = D3D10_USAGE_IMMUTABLE; bd.ByteWidth = dwResSize; - bd.BindFlags = D3D10_BIND_VERTEX_BUFFER; + bd.BindFlags = D3D10_BIND_INDEX_BUFFER; bd.CPUAccessFlags = 0; bd.MiscFlags = 0; initData.pSysMem = pData; @@ -188,6 +194,12 @@ namespace collada_scene { g_pViewVariable = g_pEffect->GetVariableByName("View")->AsMatrix(); g_pProjectionVariable = g_pEffect->GetVariableByName("Projection")->AsMatrix(); + g_pEmissionVariable = g_pEffect->GetVariableByName("Emission")->AsVector(); + g_pAmbientVariable = g_pEffect->GetVariableByName("Ambient")->AsVector(); + g_pDiffuseVariable = g_pEffect->GetVariableByName("Diffuse")->AsVector(); + g_pSpecularVariable = g_pEffect->GetVariableByName("Specular")->AsVector(); + g_pShininessVariable = g_pEffect->GetVariableByName("Shininess")->AsScalar(); + return S_OK; } @@ -232,13 +244,42 @@ namespace collada_scene { } } + static inline void SetMaterial(effect const& effect) + { + switch (effect.type) { + case effect_type::BLINN: + g_pEmissionVariable->SetFloatVector((float *)&effect.blinn.emission.color.x); + g_pAmbientVariable->SetFloatVector((float *)&effect.blinn.ambient.color.x); + g_pDiffuseVariable->SetFloatVector((float *)&effect.blinn.diffuse.color.x); + g_pSpecularVariable->SetFloatVector((float *)&effect.blinn.specular.color.x); + g_pShininessVariable->SetFloat(effect.blinn.shininess); + break; + case effect_type::LAMBERT: + g_pEmissionVariable->SetFloatVector((float *)&effect.lambert.emission.color.x); + g_pAmbientVariable->SetFloatVector((float *)&effect.lambert.ambient.color.x); + g_pDiffuseVariable->SetFloatVector((float *)&effect.lambert.diffuse.color.x); + break; + case effect_type::PHONG: + g_pEmissionVariable->SetFloatVector((float *)&effect.phong.emission.color.x); + g_pAmbientVariable->SetFloatVector((float *)&effect.phong.ambient.color.x); + g_pDiffuseVariable->SetFloatVector((float *)&effect.phong.diffuse.color.x); + g_pSpecularVariable->SetFloatVector((float *)&effect.phong.specular.color.x); + g_pShininessVariable->SetFloat(effect.phong.shininess); + break; + case effect_type::CONSTANT: + g_pEmissionVariable->SetFloatVector((float *)&effect.constant.color.x); + break; + default: + break; + } + } + void RenderGeometries(scene_state const& state, instance_geometry const * const instance_geometries, int const instance_geometries_count) { for (int i = 0; i < instance_geometries_count; i++) { instance_geometry const &instance_geometry = instance_geometries[i]; - mesh const& mesh = instance_geometry.geometry->mesh; UINT strides[1] = { 3 * 3 * 4 }; @@ -249,8 +290,10 @@ namespace collada_scene { D3D10_TECHNIQUE_DESC techDesc; g_pTechniqueBlinn->GetDesc(&techDesc); - for (int j = 0; j < mesh.triangles_count; j++) { - triangles const& triangles = mesh.triangles[j]; + for (int j = 0; j < instance_geometry.instance_materials_count; j++) { + instance_material const& instance_material = instance_geometry.instance_materials[j]; + triangles const& triangles = mesh.triangles[instance_material.element_index]; + SetMaterial(*instance_material.material->effect); g_pTechniqueBlinn->GetPassByIndex(0)->Apply(0); g_pd3dDevice->IASetInputLayout(state.pVertexLayouts[triangles.inputs_index]); diff --git a/src/effect/collada_scene.fx b/src/effect/collada_scene.fx index 8c8cbe0..c683dde 100644 --- a/src/effect/collada_scene.fx +++ b/src/effect/collada_scene.fx @@ -9,6 +9,15 @@ cbuffer cbMultiplePerFrame matrix World; }; +cbuffer cbPerMaterial +{ + float4 Emission; + float4 Ambient; + float4 Diffuse; + float4 Specular; + float Shininess; +}; + struct VS_INPUT { float3 Pos : POSITION; @@ -39,8 +48,12 @@ PS_INPUT VS(VS_INPUT input) float4 PS(PS_INPUT input) : SV_Target { + float4 color = Emission + Diffuse * 1.0 + Specular * 0.0; + + return float4(color.xyz, 1); + //return float4(input.Normal * 0.5 + 0.5, 1); - return float4(input.Tex.xy, 0, 1); + //return float4(input.Tex.xy, 0, 1); } BlendState DisableBlending diff --git a/src/main.cpp b/src/main.cpp index ad5a2da..542e868 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1821,7 +1821,7 @@ void Render(float t, float dt) g_pd3dDevice->ClearDepthStencilView(g_pDepthStencilView, D3D10_CLEAR_DEPTH, 1.0f, 0); // render - RenderModel(t); + //RenderModel(t); const float ClearColorZero[4] = { 0.0f, 0.0f, 0.0f, 1.0f }; ID3D10RenderTargetView * RenderTargets[] = { @@ -1830,19 +1830,19 @@ void Render(float t, float dt) }; g_pd3dDevice->OMSetRenderTargets(2, RenderTargets, g_pDepthStencilView); g_pd3dDevice->ClearRenderTargetView(g_pRenderTargetViewTexture[0], ClearColorZero); - RenderMeshStatic(cube::node_0.mesh, t); + //RenderMeshStatic(cube::node_0.mesh, t); //RenderBloom(); //print("%f\n", t); //RenderVolume(t); //RenderVolumeMesh(); - RenderFont(dt); - //collada::Render(t); collada_scene::Render(curve_interpolation::descriptor, g_SceneState); + RenderFont(dt); + // present g_pSwapChain->Present(0, 0); }