質問編集履歴

3

glBindTexture(GL_TEXTURE_2D, [略]);が二つもあったので1つ削除

2018/10/12 01:35

投稿

ShiiTakumi
ShiiTakumi

スコア15

test CHANGED
File without changes
test CHANGED
@@ -68,15 +68,13 @@
68
68
 
69
69
  glEnable(GL_TEXTURE_2D); //テクスチャマッピング有効
70
70
 
71
- glBindTexture(GL_TEXTURE_2D, [略]);
72
-
73
71
  glPushMatrix();
74
72
 
75
73
  mqoCallModel(test_model); //モデルを呼び出す(OK)
76
74
 
77
- glBindTexture(GL_TEXTURE_2D, [略]); // テクスチャの割り当て
78
75
 
79
76
 
77
+ glBindTexture(GL_TEXTURE_2D, [略]); // テクスチャの割り当て
80
78
 
81
79
  //エラー発生(黒や青紫などの単色がランダムに描画されたり、エラーコード「-1073741819」が吐き出される)
82
80
 

2

コード誤りの修正

2018/10/12 01:35

投稿

ShiiTakumi
ShiiTakumi

スコア15

test CHANGED
File without changes
test CHANGED
@@ -52,13 +52,7 @@
52
52
 
53
53
  // その変数に作成したモデルを格納(読み込み)(OK)
54
54
 
55
- if ((test_model = mqoCreateModel([作成した3DCGファイル], 1.0)) == NULL) {
55
+ test_model = mqoCreateModel([作成した3DCGファイル], 1.0);
56
-
57
- puts("右ページモデルの読み込みに失敗しました\n");
58
-
59
- return 1;
60
-
61
- }
62
56
 
63
57
 
64
58
 

1

実装の流れとコードを追記しました。

2018/10/12 01:24

投稿

ShiiTakumi
ShiiTakumi

スコア15

test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,83 @@
15
15
  本やネットで今後も調べていますが、ご助言いただけますと幸いです。
16
16
 
17
17
  よろしくお願いいたします。
18
+
19
+
20
+
21
+ [追記]-----------------------------------------------
22
+
23
+ ・実装の流れ
24
+
25
+ 1.Metasequoiaで3DCGモデルを作成
26
+
27
+ 2.mqo形式ファイルとして名前を付けて保存
28
+
29
+ 3.VIsualStudioにてGLMetaseqライブラリを使ってモデルのロード、描画
30
+
31
+ 4.その描画された3DCGモデルに対してテクスチャマッピングして目標達成
32
+
33
+
34
+
35
+ 現在4が全く上手くいかず(涙目)、詰んでいるといった感じです。
36
+
37
+ mqo形式3DCGモデルはテクスチャマッピングの仕方が特殊なのか、使い方というものがあるのか…原因が未だ不明です。
38
+
39
+
40
+
41
+ ソースは以下のようになっております。
42
+
43
+
44
+
45
+ ```C
46
+
47
+ // 作成したモデル(.mqo)を格納するための変数宣言(OK)
48
+
49
+ MQO_MODEL test_model;
50
+
51
+
52
+
53
+ // その変数に作成したモデルを格納(読み込み)(OK)
54
+
55
+ if ((test_model = mqoCreateModel([作成した3DCGファイル], 1.0)) == NULL) {
56
+
57
+ puts("右ページモデルの読み込みに失敗しました\n");
58
+
59
+ return 1;
60
+
61
+ }
62
+
63
+
64
+
65
+ // テストとしてテクスチャを用意する(複数の形式を試す・・・全部同じエラー)
66
+
67
+ unsigned char test[] = "test.BMP";
68
+
69
+ //unsigned char test[] = "test.jpg";
70
+
71
+ //unsigned char test[] = "test.png";
72
+
73
+
74
+
75
+ glEnable(GL_TEXTURE_2D); //テクスチャマッピング有効
76
+
77
+ glBindTexture(GL_TEXTURE_2D, [略]);
78
+
79
+ glPushMatrix();
80
+
81
+ mqoCallModel(test_model); //モデルを呼び出す(OK)
82
+
83
+ glBindTexture(GL_TEXTURE_2D, [略]); // テクスチャの割り当て
84
+
85
+
86
+
87
+ //エラー発生(黒や青紫などの単色がランダムに描画されたり、エラーコード「-1073741819」が吐き出される)
88
+
89
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0,[略],[略],GL_BGR, GL_UNSIGNED_BYTE, test);
90
+
91
+
92
+
93
+ glPopMatrix();
94
+
95
+ glDisable(GL_TEXTURE_2D); //テクスチャマッピング無効
96
+
97
+ ```