SlimMMDXによる修正をこっちにも反映
@@ -64,7 +64,7 @@ | ||
64 | 64 | MMDXMath.CreateLookAtMatrix(ref CameraPos, ref CameraTarget, ref CameraUpVector,out view); |
65 | 65 | MMDXMath.CreatePerspectiveFieldOfViewMatrix(FieldOfView, aspectRatio, Near, Far, out proj); |
66 | 66 | } |
67 | - | |
67 | + public Vector3 Position { get { return CameraPos; } set { CameraPos = value; } } | |
68 | 68 | #endregion |
69 | 69 | } |
70 | 70 | } |
@@ -22,5 +22,7 @@ | ||
22 | 22 | /// <param name="view">ビュー情報</param> |
23 | 23 | /// <param name="proj">プロジェクション情報</param> |
24 | 24 | void GetCameraParam(float aspectRatio, out Matrix view, out Matrix proj); |
25 | + | |
26 | + Vector3 Position { get; set; } | |
25 | 27 | } |
26 | 28 | } |
@@ -44,7 +44,7 @@ | ||
44 | 44 | /// ボーンの設定 |
45 | 45 | /// </summary> |
46 | 46 | /// <param name="bones">ボーン配列</param> |
47 | - public override void SetBone(Matrix[] bones) | |
47 | + public override void SetSkinMatrix(Matrix[] bones) | |
48 | 48 | { |
49 | 49 | //頂点位置の計算 |
50 | 50 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -94,7 +94,7 @@ | ||
94 | 94 | /// ボーンの設定 |
95 | 95 | /// </summary> |
96 | 96 | /// <param name="bones">ボーン配列</param> |
97 | - public override void SetBone(Matrix[] bones) | |
97 | + public override void SetSkinMatrix(Matrix[] bones) | |
98 | 98 | { |
99 | 99 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
100 | 100 | (i) => SkinningHelpers.SkinVertex(bones, vertices[i], out gpuVertices[i].Position)); |
@@ -144,7 +144,7 @@ | ||
144 | 144 | /// ボーンの設定 |
145 | 145 | /// </summary> |
146 | 146 | /// <param name="bones">ボーン配列</param> |
147 | - public override void SetBone(Matrix[] bones) | |
147 | + public override void SetSkinMatrix(Matrix[] bones) | |
148 | 148 | { |
149 | 149 | //頂点と法線位置の計算 |
150 | 150 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -194,7 +194,7 @@ | ||
194 | 194 | /// ボーンの設定 |
195 | 195 | /// </summary> |
196 | 196 | /// <param name="bones">ボーン配列</param> |
197 | - public override void SetBone(Matrix[] bones) | |
197 | + public override void SetSkinMatrix(Matrix[] bones) | |
198 | 198 | { |
199 | 199 | //頂点位置の計算 |
200 | 200 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -246,7 +246,7 @@ | ||
246 | 246 | /// ボーンの設定 |
247 | 247 | /// </summary> |
248 | 248 | /// <param name="bones">ボーン配列</param> |
249 | - public override void SetBone(Matrix[] bones) | |
249 | + public override void SetSkinMatrix(Matrix[] bones) | |
250 | 250 | { |
251 | 251 | //頂点と法線位置の計算 |
252 | 252 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -297,7 +297,7 @@ | ||
297 | 297 | /// ボーンの設定 |
298 | 298 | /// </summary> |
299 | 299 | /// <param name="bones">ボーン配列</param> |
300 | - public override void SetBone(Matrix[] bones) | |
300 | + public override void SetSkinMatrix(Matrix[] bones) | |
301 | 301 | { |
302 | 302 | //頂点位置の計算 |
303 | 303 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -348,7 +348,7 @@ | ||
348 | 348 | /// ボーンの設定 |
349 | 349 | /// </summary> |
350 | 350 | /// <param name="bones">ボーン配列</param> |
351 | - public override void SetBone(Matrix[] bones) | |
351 | + public override void SetSkinMatrix(Matrix[] bones) | |
352 | 352 | { |
353 | 353 | //頂点と法線位置の計算 |
354 | 354 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -400,7 +400,7 @@ | ||
400 | 400 | /// ボーンの設定 |
401 | 401 | /// </summary> |
402 | 402 | /// <param name="bones">ボーン配列</param> |
403 | - public override void SetBone(Matrix[] bones) | |
403 | + public override void SetSkinMatrix(Matrix[] bones) | |
404 | 404 | { |
405 | 405 | //頂点と法線位置の計算 |
406 | 406 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -44,7 +44,7 @@ | ||
44 | 44 | /// ボーンの設定 |
45 | 45 | /// </summary> |
46 | 46 | /// <param name="bones">ボーン配列</param> |
47 | - public override void SetBone(Matrix[] bones) | |
47 | + public override void SetSkinMatrix(Matrix[] bones) | |
48 | 48 | { |
49 | 49 | //頂点位置の計算 |
50 | 50 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -94,7 +94,7 @@ | ||
94 | 94 | /// ボーンの設定 |
95 | 95 | /// </summary> |
96 | 96 | /// <param name="bones">ボーン配列</param> |
97 | - public override void SetBone(Matrix[] bones) | |
97 | + public override void SetSkinMatrix(Matrix[] bones) | |
98 | 98 | { |
99 | 99 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
100 | 100 | (i) => SkinningHelpers.SkinVertex(bones, vertices[i], out gpuVertices[i].Position)); |
@@ -144,7 +144,7 @@ | ||
144 | 144 | /// ボーンの設定 |
145 | 145 | /// </summary> |
146 | 146 | /// <param name="bones">ボーン配列</param> |
147 | - public override void SetBone(Matrix[] bones) | |
147 | + public override void SetSkinMatrix(Matrix[] bones) | |
148 | 148 | { |
149 | 149 | //頂点と法線位置の計算 |
150 | 150 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -194,7 +194,7 @@ | ||
194 | 194 | /// ボーンの設定 |
195 | 195 | /// </summary> |
196 | 196 | /// <param name="bones">ボーン配列</param> |
197 | - public override void SetBone(Matrix[] bones) | |
197 | + public override void SetSkinMatrix(Matrix[] bones) | |
198 | 198 | { |
199 | 199 | //頂点位置の計算 |
200 | 200 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -246,7 +246,7 @@ | ||
246 | 246 | /// ボーンの設定 |
247 | 247 | /// </summary> |
248 | 248 | /// <param name="bones">ボーン配列</param> |
249 | - public override void SetBone(Matrix[] bones) | |
249 | + public override void SetSkinMatrix(Matrix[] bones) | |
250 | 250 | { |
251 | 251 | //頂点と法線位置の計算 |
252 | 252 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -297,7 +297,7 @@ | ||
297 | 297 | /// ボーンの設定 |
298 | 298 | /// </summary> |
299 | 299 | /// <param name="bones">ボーン配列</param> |
300 | - public override void SetBone(Matrix[] bones) | |
300 | + public override void SetSkinMatrix(Matrix[] bones) | |
301 | 301 | { |
302 | 302 | //頂点位置の計算 |
303 | 303 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -348,7 +348,7 @@ | ||
348 | 348 | /// ボーンの設定 |
349 | 349 | /// </summary> |
350 | 350 | /// <param name="bones">ボーン配列</param> |
351 | - public override void SetBone(Matrix[] bones) | |
351 | + public override void SetSkinMatrix(Matrix[] bones) | |
352 | 352 | { |
353 | 353 | //頂点と法線位置の計算 |
354 | 354 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -400,7 +400,7 @@ | ||
400 | 400 | /// ボーンの設定 |
401 | 401 | /// </summary> |
402 | 402 | /// <param name="bones">ボーン配列</param> |
403 | - public override void SetBone(Matrix[] bones) | |
403 | + public override void SetSkinMatrix(Matrix[] bones) | |
404 | 404 | { |
405 | 405 | //頂点と法線位置の計算 |
406 | 406 | System.Threading.Tasks.Parallel.For(0, vertices.Length, |
@@ -91,6 +91,7 @@ | ||
91 | 91 | Effect.Parameters["World"].SetValue(world); |
92 | 92 | Effect.Parameters["View"].SetValue(view); |
93 | 93 | Effect.Parameters["Projection"].SetValue(projection); |
94 | + Effect.Parameters["EyePosition"].SetValue(MMDXCore.Instance.Camera.Position); | |
94 | 95 | } |
95 | 96 | //ライティング処理 |
96 | 97 | Vector3 color, dir; |
@@ -130,13 +131,13 @@ | ||
130 | 131 | graphics.SetVertexBuffer(null); |
131 | 132 | } |
132 | 133 | |
133 | - | |
134 | 134 | |
135 | + | |
135 | 136 | /// <summary> |
136 | - /// ボーンの設定 | |
137 | + /// スキン行列の設定 | |
137 | 138 | /// </summary> |
138 | - /// <param name="bones">ボーン配列</param> | |
139 | - public abstract void SetBone(Matrix[] bones); | |
139 | + /// <param name="bones">スキン行列配列</param> | |
140 | + public abstract void SetSkinMatrix(Matrix[] skinTransforms); | |
140 | 141 | |
141 | 142 | |
142 | 143 |