質問編集履歴

83

書式の改善

2022/08/01 02:27

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
File without changes

82

書式の改善

2022/07/30 20:49

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- DDSのテクスチャーをだしたい
1
+ なんとかしてテクスチャーをだしたい
test CHANGED
File without changes

81

書式の改善

2022/07/30 20:26

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- なんとかしてテクスチャーをだしたい
1
+ DDSのテクスチャーをだしたい
test CHANGED
File without changes

80

書式の改善

2022/07/30 20:05

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
File without changes

79

書式の改善

2022/07/30 20:01

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
File without changes

78

書式の改善

2022/07/30 11:27

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
File without changes

77

書式の改善

2022/07/26 14:29

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,311 +1,153 @@
1
1
  **前提・実現したいこと**
2
-
3
2
  DDSファイルからテクスチャを読み込みたいです。何が原因か絞りきれないです。
4
-
5
-
6
3
 
7
4
  解凍作業してみたので、内容を変えました。シェーダの習得より、早くテクスチャができそうなので内容を変える要因になりました。
8
5
 
9
-
10
-
11
- **問題:課題**:1.コピーしたのにddsファイルから正しく出力されない
6
+ **問題:課題**:コピーしたのにddsファイルから正しく出力されない
12
-
13
- 2.構造体と関数内の変数がおかしくないか知りたい。(グローバルな構造体と関数の中の変数が衝突するってことはありますか)
14
-
15
-
16
-
17
-
18
-
19
-
20
7
 
21
8
  ```opengl
22
9
 
23
-
24
-
25
10
  typedef struct _DDPixelFormat
26
-
27
11
  {
28
-
29
12
  GLuint size;
30
-
31
13
  GLuint flgas;
32
-
33
14
  GLuint fourCC;
34
-
35
15
  GLuint bpp;
36
-
37
16
  GLuint redMask;
38
-
39
17
  GLuint greenMask;
40
-
41
18
  GLuint blueMask;
42
-
43
19
  GLuint alphaMask;
44
-
45
20
  }
46
-
47
21
  DDPixelFormat;
48
22
 
49
-
50
-
51
23
  typedef struct _DDSCaps
52
-
53
24
  {
54
-
55
25
  GLuint caps;
56
-
57
26
  GLuint caps2;
58
-
59
27
  GLuint caps3;
60
-
61
28
  GLuint caps4;
62
-
63
29
  }
64
-
65
-
66
30
 
67
31
  DDSCaps;
68
32
 
69
-
70
-
71
33
  typedef struct _DDColorKey
72
-
73
34
  {
74
-
75
35
  GLuint lowVal;
76
-
77
36
  GLuint highVal;
78
-
79
37
  }
80
-
81
38
  DDColorKey;
82
39
 
83
-
84
-
85
40
  typedef struct _DDSurfaceDesc
86
-
87
41
  {
88
-
89
42
  GLuint size;
90
-
91
43
  GLuint flags;
92
-
93
44
  GLuint height;
94
-
95
45
  GLuint width;
96
-
97
46
  GLuint pitch;
98
-
99
47
  GLuint depth;
100
-
101
48
  GLuint mipMapLevels;
102
-
103
49
  GLuint alphaBitDepth;
104
-
105
50
  GLuint reserved;
106
-
107
51
  GLuint surface;
108
-
109
52
  DDColorKey ckDestOverlay;
110
-
111
53
  DDColorKey ckDestBlt;
112
-
113
54
  DDColorKey ckSrcOverlay;
114
-
115
55
  DDColorKey ckSrcBlt;
116
-
117
56
  DDPixelFormat format;
118
-
119
57
  DDSCaps caps;
120
-
121
58
  GLuint textureStage;
122
-
123
59
  }
124
-
125
60
  DDSurfaceDesc;
126
61
 
127
-
128
-
129
62
  void DdsLoader(const char* filename){
130
-
131
63
  //ReadDDS
132
-
133
64
  FILE *fa=fopen(filename,"r");
134
-
135
-
136
65
 
137
66
  char magic[4];
138
67
 
139
-
140
-
141
68
  DDSurfaceDesc ddsd;
142
-
143
-
144
69
 
145
70
  fread(&magic, sizeof(char), 4, fa); //修正したが2サイトとも&magicなので元に戻した 
146
71
 
147
-
148
-
149
72
  fread(&ddsd, sizeof(ddsd), 1, fa);
150
73
 
74
+
75
+ //3TXD
76
+ GLenum format =GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
151
77
 
78
+ GLuint internalFormat=4;
79
+
80
+ int mipmapFacter=4;
81
+
82
+ unsigned long current = ftell(fa);
152
83
 
153
84
 
154
85
 
155
- //3TXD
156
-
157
- GLenum format =GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
158
-
159
-
160
-
161
- GLuint internalFormat=4;
162
-
163
-
164
-
165
- int mipmapFacter=4;
166
-
167
-
168
-
169
- unsigned long current = ftell(fa);
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
86
  fseek(fa, 0L, SEEK_END);
178
-
179
-
180
87
 
181
88
  unsigned long end= ftell(fa);
182
89
 
183
-
184
-
185
90
  unsigned long imagesize=end-current;
186
-
187
-
188
91
 
189
92
  GLubyte *imagedata = new GLubyte[imagesize];
190
93
 
191
-
192
-
193
94
  fread(imagedata,sizeof(GLubyte),imagesize,fa);
194
-
195
95
  //ReadDDS 終わり
196
-
197
96
  // GLuint ID;
198
-
199
97
  //glGenTextures (1,&ID);
200
98
 
201
-
202
-
203
99
  //glBindTexture (GL_TEXTURE_2D,ID); //コメントアウトはmain側に書いている
204
-
205
100
 
206
-
207
101
  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
208
-
209
-
210
102
 
211
103
  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
212
104
 
213
-
214
-
215
105
  glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
216
-
217
106
 
218
-
219
107
  //DXT3解凍作業
220
-
221
108
  int offset=0;
222
-
223
-
224
109
 
225
110
 
226
111
 
227
-
228
-
229
112
  GLsizei mWidth=ddsd.width;
230
-
231
-
232
113
 
233
114
  GLsizei mHeight=ddsd.height;
234
115
 
235
-
236
-
237
116
  GLsizei mSize=0;
238
-
239
-
240
117
 
241
118
  int blockSize=16;
242
119
 
243
-
244
-
245
120
  for(int i=0; i<(int)ddsd.mipMapLevels;i++)
246
-
247
121
  {
248
-
249
122
  mSize=((mWidth+3)/4)*((mHeight+3)/4)*blockSize;
250
-
251
-
252
123
 
253
124
  glCompressedTexImage2D(GL_TEXTURE_2D,i,format,mWidth,mHeight,0,mSize,offset+imagedata);
254
125
 
255
-
256
-
257
126
  if(mWidth>>1){mWidth=(mWidth>>1);}
258
-
259
-
260
127
 
261
128
  else {mWidth=1;}
262
129
 
263
-
264
-
265
130
  if(mHeight>>1){mHeight=(mHeight>>1);}
266
-
267
-
268
131
 
269
132
  else {mHeight=1;}
270
133
 
271
-
272
-
273
134
  offset +=mSize;
274
-
275
135
  }//解凍作業終わり
276
-
277
136
  fclose(fa);
278
-
279
-
280
137
 
281
138
  delete [] imagedata;
282
139
 
283
-
284
-
285
140
  imagedata=NULL;
286
141
 
287
-
288
-
289
142
  }
290
-
291
143
  ```
292
-
293
-
294
-
295
144
 
296
145
 
297
146
  ただコピーしたのですが上手くいきませんでした。画像はちらつきました。
298
147
 
299
-
300
-
301
148
  インデントはpcに任せました。
302
-
303
149
  間違えてる箇所を教えてください。
304
-
305
150
  引用サイト https://w.atwiki.jp/opengl/pages/59.htmlを新たに見ました。
306
-
307
151
  最終更新:2015年01月03日 22:04だそうです。
308
152
 
309
-
310
-
311
153
  追記 printf を削除しました。

76

まとめ

2021/12/24 06:53

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- ![イメージ説明](55b2ee796988570b0270df2dbf1e9989.png)
17
+
18
18
 
19
19
 
20
20
 

75

文章のまとめ

2021/12/24 06:53

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -150,17 +150,7 @@
150
150
 
151
151
 
152
152
 
153
- printf("height=%d",ddsd.height); //出力256
153
+
154
-
155
-
156
-
157
- printf("width=%d",ddsd.width); //出力256
158
-
159
-
160
-
161
- printf("numMipmapps=%d",ddsd.mipMapLevels); //出力9
162
-
163
-
164
154
 
165
155
  //3TXD
166
156
 
@@ -180,7 +170,7 @@
180
170
 
181
171
 
182
172
 
183
- printf("current=%d",current);//current=128;
173
+
184
174
 
185
175
 
186
176
 
@@ -232,7 +222,7 @@
232
222
 
233
223
 
234
224
 
235
- printf("offset==%d",offset);
225
+
236
226
 
237
227
 
238
228
 
@@ -315,3 +305,7 @@
315
305
  引用サイト https://w.atwiki.jp/opengl/pages/59.htmlを新たに見ました。
316
306
 
317
307
  最終更新:2015年01月03日 22:04だそうです。
308
+
309
+
310
+
311
+ 追記 printf を削除しました。

74

文の変更

2021/03/12 04:58

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -302,50 +302,6 @@
302
302
 
303
303
 
304
304
 
305
- ```opengl
306
-
307
- glEnable(GL_LIGHTING);
308
-
309
- glEnable(GL_LIGHT0);
310
-
311
-
312
-
313
- glEnable(GL_TEXTURE_2D);
314
-
315
-
316
-
317
- glGenTextures(1, &texture);
318
-
319
-
320
-
321
-
322
-
323
- glBindTexture(GL_TEXTURE_2D, texture);
324
-
325
-
326
-
327
- glEnable(GL_ALPHA_TEST);
328
-
329
-
330
-
331
- //LoadGLTextures("./src/flower.bmp",1024,1024);
332
-
333
-
334
-
335
- DdsLoader("./src/Tiny_skin.dds");
336
-
337
-
338
-
339
- ------
340
-
341
-
342
-
343
- glDisableとか
344
-
345
-
346
-
347
- ```
348
-
349
305
 
350
306
 
351
307
  ただコピーしたのですが上手くいきませんでした。画像はちらつきました。

73

文の改善

2021/02/09 11:02

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -142,7 +142,7 @@
142
142
 
143
143
 
144
144
 
145
- fread(&magic[0], sizeof(char), 4, fa); //修正 
145
+ fread(&magic, sizeof(char), 4, fa); //修正したが2サイトとも&magicなので元に戻した 
146
146
 
147
147
 
148
148
 

72

文の改善

2020/09/12 09:55

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -142,7 +142,7 @@
142
142
 
143
143
 
144
144
 
145
- fread(&magic, sizeof(char), 4, fa);
145
+ fread(&magic[0], sizeof(char), 4, fa); //修正 
146
146
 
147
147
 
148
148
 

71

文の改善

2020/09/12 08:14

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
 
6
6
 
7
- 解凍作業してみたので、内容を変えました。
7
+ 解凍作業してみたので、内容を変えました。シェーダの習得より、早くテクスチャができそうなので内容を変える要因になりました。
8
+
9
+
8
10
 
9
11
  **問題:課題**:1.コピーしたのにddsファイルから正しく出力されない
10
12
 

70

文の改善

2020/09/11 11:22

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,14 @@
1
- 前提・実現したいこと
1
+ **前提・実現したいこと**
2
-
2
+
3
- DDSファイルからテクスチャを読み込みたいです。
3
+ DDSファイルからテクスチャを読み込みたいです。何が原因か絞りきれないです。
4
4
 
5
5
 
6
6
 
7
7
  解凍作業してみたので、内容を変えました。
8
8
 
9
- 問題:課題:1.コピーしたのにddsファイルから正しく出力されない
9
+ **問題:課題**:1.コピーしたのにddsファイルから正しく出力されない
10
-
10
+
11
- 2.構造体と関数内の変数がおかしくないか知りたい。
11
+ 2.構造体と関数内の変数がおかしくないか知りたい。(グローバルな構造体と関数の中の変数が衝突するってことはありますか)
12
12
 
13
13
 
14
14
 
@@ -346,7 +346,7 @@
346
346
 
347
347
 
348
348
 
349
- ただコピーしたのですが上手くいきませんでした。画像はちらつきました。とりあえず、offsetがおかしい気がするけど、どうすればいいかわかりません。(なんのことかはわかっていません)
349
+ ただコピーしたのですが上手くいきませんでした。画像はちらつきました。
350
350
 
351
351
 
352
352
 

69

文の改善

2020/09/11 11:06

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,10 @@
1
+ 前提・実現したいこと
2
+
1
- コメントありがとうございまし。解凍作業してませんした
3
+ DDSファイルからテクスチャを読み込みたいで
4
+
5
+
6
+
7
+ 解凍作業してみたので、内容を変えました。
2
8
 
3
9
  問題:課題:1.コピーしたのにddsファイルから正しく出力されない
4
10
 
@@ -6,7 +12,7 @@
6
12
 
7
13
 
8
14
 
9
- !![イメージ説明](7c1bc290b285c731d2c047167ffbc3b5.png)
15
+ ![イメージ説明](55b2ee796988570b0270df2dbf1e9989.png)
10
16
 
11
17
 
12
18
 

68

文の追加

2020/09/11 10:59

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  コメントありがとうございました。解凍作業していませんでした。
2
2
 
3
- 問題:課題:コピーしたのにddsファイルから正しく出力されない
3
+ 問題:課題:1.コピーしたのにddsファイルから正しく出力されない
4
+
5
+ 2.構造体と関数内の変数がおかしくないか知りたい。
4
6
 
5
7
 
6
8
 

67

文の改善

2020/09/11 10:27

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -326,6 +326,12 @@
326
326
 
327
327
 
328
328
 
329
+ ------
330
+
331
+
332
+
333
+ glDisableとか
334
+
329
335
 
330
336
 
331
337
  ```

66

文の改善

2020/09/11 09:02

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -288,7 +288,7 @@
288
288
 
289
289
  }
290
290
 
291
-
291
+ ```
292
292
 
293
293
 
294
294
 

65

文の改善

2020/09/11 09:00

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -288,10 +288,12 @@
288
288
 
289
289
  }
290
290
 
291
+
292
+
293
+
294
+
291
295
  ```opengl
292
296
 
293
-
294
-
295
297
  glEnable(GL_LIGHTING);
296
298
 
297
299
  glEnable(GL_LIGHT0);

64

文の変更

2020/09/11 08:59

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -288,8 +288,48 @@
288
288
 
289
289
  }
290
290
 
291
+ ```opengl
292
+
293
+
294
+
295
+ glEnable(GL_LIGHTING);
296
+
297
+ glEnable(GL_LIGHT0);
298
+
299
+
300
+
301
+ glEnable(GL_TEXTURE_2D);
302
+
303
+
304
+
305
+ glGenTextures(1, &texture);
306
+
307
+
308
+
309
+
310
+
311
+ glBindTexture(GL_TEXTURE_2D, texture);
312
+
313
+
314
+
315
+ glEnable(GL_ALPHA_TEST);
316
+
317
+
318
+
319
+ //LoadGLTextures("./src/flower.bmp",1024,1024);
320
+
321
+
322
+
323
+ DdsLoader("./src/Tiny_skin.dds");
324
+
325
+
326
+
327
+
328
+
291
329
  ```
292
330
 
331
+
332
+
293
333
  ただコピーしたのですが上手くいきませんでした。画像はちらつきました。とりあえず、offsetがおかしい気がするけど、どうすればいいかわかりません。(なんのことかはわかっていません)
294
334
 
295
335
 

63

文の追加

2020/09/11 08:58

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -290,7 +290,7 @@
290
290
 
291
291
  ```
292
292
 
293
- ただコピーしたのですが上手くいきませんでした。画像はちらつきました。
293
+ ただコピーしたのですが上手くいきませんでした。画像はちらつきました。とりあえず、offsetがおかしい気がするけど、どうすればいいかわかりません。(なんのことかはわかっていません)
294
294
 
295
295
 
296
296
 

62

文の変更

2020/09/11 08:48

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -200,7 +200,7 @@
200
200
 
201
201
 
202
202
 
203
- //glBindTexture (GL_TEXTURE_2D,ID);
203
+ //glBindTexture (GL_TEXTURE_2D,ID); //コメントアウトはmain側に書いている
204
204
 
205
205
 
206
206
 

61

文の改善

2020/09/11 08:25

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,7 @@
1
1
  コメントありがとうございました。解凍作業していませんでした。
2
2
 
3
+ 問題:課題:コピーしたのにddsファイルから正しく出力されない
4
+
3
5
 
4
6
 
5
7
  !![イメージ説明](7c1bc290b285c731d2c047167ffbc3b5.png)

60

文の変更

2020/09/11 08:14

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -296,6 +296,6 @@
296
296
 
297
297
  間違えてる箇所を教えてください。
298
298
 
299
- 参考サイト https://w.atwiki.jp/opengl/pages/59.htmlを新たに見ました。
299
+ 引用サイト https://w.atwiki.jp/opengl/pages/59.htmlを新たに見ました。
300
300
 
301
301
  最終更新:2015年01月03日 22:04だそうです。

59

文の変更

2020/09/11 08:05

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -2,16 +2,300 @@
2
2
 
3
3
 
4
4
 
5
- 参照ページはググればでてくるということで。
6
-
7
-
8
-
9
5
  !![イメージ説明](7c1bc290b285c731d2c047167ffbc3b5.png)
10
6
 
11
7
 
12
8
 
13
-
9
+ ```opengl
10
+
11
+
12
+
14
-
13
+ typedef struct _DDPixelFormat
15
-
16
-
14
+
17
- `
15
+ {
16
+
17
+ GLuint size;
18
+
19
+ GLuint flgas;
20
+
21
+ GLuint fourCC;
22
+
23
+ GLuint bpp;
24
+
25
+ GLuint redMask;
26
+
27
+ GLuint greenMask;
28
+
29
+ GLuint blueMask;
30
+
31
+ GLuint alphaMask;
32
+
33
+ }
34
+
35
+ DDPixelFormat;
36
+
37
+
38
+
39
+ typedef struct _DDSCaps
40
+
41
+ {
42
+
43
+ GLuint caps;
44
+
45
+ GLuint caps2;
46
+
47
+ GLuint caps3;
48
+
49
+ GLuint caps4;
50
+
51
+ }
52
+
53
+
54
+
55
+ DDSCaps;
56
+
57
+
58
+
59
+ typedef struct _DDColorKey
60
+
61
+ {
62
+
63
+ GLuint lowVal;
64
+
65
+ GLuint highVal;
66
+
67
+ }
68
+
69
+ DDColorKey;
70
+
71
+
72
+
73
+ typedef struct _DDSurfaceDesc
74
+
75
+ {
76
+
77
+ GLuint size;
78
+
79
+ GLuint flags;
80
+
81
+ GLuint height;
82
+
83
+ GLuint width;
84
+
85
+ GLuint pitch;
86
+
87
+ GLuint depth;
88
+
89
+ GLuint mipMapLevels;
90
+
91
+ GLuint alphaBitDepth;
92
+
93
+ GLuint reserved;
94
+
95
+ GLuint surface;
96
+
97
+ DDColorKey ckDestOverlay;
98
+
99
+ DDColorKey ckDestBlt;
100
+
101
+ DDColorKey ckSrcOverlay;
102
+
103
+ DDColorKey ckSrcBlt;
104
+
105
+ DDPixelFormat format;
106
+
107
+ DDSCaps caps;
108
+
109
+ GLuint textureStage;
110
+
111
+ }
112
+
113
+ DDSurfaceDesc;
114
+
115
+
116
+
117
+ void DdsLoader(const char* filename){
118
+
119
+ //ReadDDS
120
+
121
+ FILE *fa=fopen(filename,"r");
122
+
123
+
124
+
125
+ char magic[4];
126
+
127
+
128
+
129
+ DDSurfaceDesc ddsd;
130
+
131
+
132
+
133
+ fread(&magic, sizeof(char), 4, fa);
134
+
135
+
136
+
137
+ fread(&ddsd, sizeof(ddsd), 1, fa);
138
+
139
+
140
+
141
+ printf("height=%d",ddsd.height); //出力256
142
+
143
+
144
+
145
+ printf("width=%d",ddsd.width); //出力256
146
+
147
+
148
+
149
+ printf("numMipmapps=%d",ddsd.mipMapLevels); //出力9
150
+
151
+
152
+
153
+ //3TXD
154
+
155
+ GLenum format =GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
156
+
157
+
158
+
159
+ GLuint internalFormat=4;
160
+
161
+
162
+
163
+ int mipmapFacter=4;
164
+
165
+
166
+
167
+ unsigned long current = ftell(fa);
168
+
169
+
170
+
171
+ printf("current=%d",current);//current=128;
172
+
173
+
174
+
175
+ fseek(fa, 0L, SEEK_END);
176
+
177
+
178
+
179
+ unsigned long end= ftell(fa);
180
+
181
+
182
+
183
+ unsigned long imagesize=end-current;
184
+
185
+
186
+
187
+ GLubyte *imagedata = new GLubyte[imagesize];
188
+
189
+
190
+
191
+ fread(imagedata,sizeof(GLubyte),imagesize,fa);
192
+
193
+ //ReadDDS 終わり
194
+
195
+ // GLuint ID;
196
+
197
+ //glGenTextures (1,&ID);
198
+
199
+
200
+
201
+ //glBindTexture (GL_TEXTURE_2D,ID);
202
+
203
+
204
+
205
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
206
+
207
+
208
+
209
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
210
+
211
+
212
+
213
+ glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
214
+
215
+
216
+
217
+ //DXT3解凍作業
218
+
219
+ int offset=0;
220
+
221
+
222
+
223
+ printf("offset==%d",offset);
224
+
225
+
226
+
227
+ GLsizei mWidth=ddsd.width;
228
+
229
+
230
+
231
+ GLsizei mHeight=ddsd.height;
232
+
233
+
234
+
235
+ GLsizei mSize=0;
236
+
237
+
238
+
239
+ int blockSize=16;
240
+
241
+
242
+
243
+ for(int i=0; i<(int)ddsd.mipMapLevels;i++)
244
+
245
+ {
246
+
247
+ mSize=((mWidth+3)/4)*((mHeight+3)/4)*blockSize;
248
+
249
+
250
+
251
+ glCompressedTexImage2D(GL_TEXTURE_2D,i,format,mWidth,mHeight,0,mSize,offset+imagedata);
252
+
253
+
254
+
255
+ if(mWidth>>1){mWidth=(mWidth>>1);}
256
+
257
+
258
+
259
+ else {mWidth=1;}
260
+
261
+
262
+
263
+ if(mHeight>>1){mHeight=(mHeight>>1);}
264
+
265
+
266
+
267
+ else {mHeight=1;}
268
+
269
+
270
+
271
+ offset +=mSize;
272
+
273
+ }//解凍作業終わり
274
+
275
+ fclose(fa);
276
+
277
+
278
+
279
+ delete [] imagedata;
280
+
281
+
282
+
283
+ imagedata=NULL;
284
+
285
+
286
+
287
+ }
288
+
289
+ ```
290
+
291
+ ただコピーしたのですが上手くいきませんでした。画像はちらつきました。
292
+
293
+
294
+
295
+ インデントはpcに任せました。
296
+
297
+ 間違えてる箇所を教えてください。
298
+
299
+ 参考サイト https://w.atwiki.jp/opengl/pages/59.htmlを新たに見ました。
300
+
301
+ 最終更新:2015年01月03日 22:04だそうです。

58

文の変更

2020/09/11 08:04

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
1
  コメントありがとうございました。解凍作業していませんでした。
2
+
3
+
4
+
5
+ 参照ページはググればでてくるということで。
2
6
 
3
7
 
4
8
 

57

文の変更

2020/09/06 13:35

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,92 +1,4 @@
1
- ```opengl
2
-
3
-
4
-
5
-
6
-
7
- void DdsLoader(const char* filename){
8
-
9
-
10
-
11
- FILE *fa=fopen(filename,"r");
12
-
13
-
14
-
15
- fseek(fa,128L,SEEK_SET);
16
-
17
-
18
-
19
- unsigned long current = ftell(fa);
20
-
21
-
22
-
23
- fseek(fa, 0L, SEEK_END);
24
-
25
-
26
-
27
- unsigned long file2= ftell(fa);
28
-
29
-
30
-
31
- unsigned long imagesize=file2-current;
32
-
33
-
34
-
35
- GLubyte *imagedata = new GLubyte[imagesize];
36
-
37
-
38
-
39
- fseek(fa,0L,SEEK_SET);
40
-
41
-
42
-
43
- fread(imagedata,sizeof(GLubyte),imagesize,fa); //zenbu no hairetu
44
-
45
-
46
-
47
- unsigned int height=256; unsigned int width=256;
48
-
49
-
50
-
51
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // scale linearly when image bigger than texture
52
-
53
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
54
-
55
-
56
-
57
- glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,width,height,0,GL_RGBA,GL_UNSIGNED_BYTE,
58
-
59
- &imagedata[0]);
60
-
61
- fclose(fa);
62
-
63
-
64
-
65
- delete [] imagedata;
66
-
67
-
68
-
69
- imagedata=NULL;
70
-
71
-
72
-
73
-
74
-
75
- }
76
-
77
- ```
78
-
79
- http://asura.iaigiri.com/OpenGL/gl7.html
80
-
81
-
82
-
83
- 丸々ピーしたんですがうまく表示されませんでした
1
+ メントありございした。解凍作業していませんでした
84
-
85
-
86
-
87
- どこが違うか教えてください
88
-
89
- すいません まるまるコピーしたので後でコードを消します。あと丸々コピーはしません。
90
2
 
91
3
 
92
4
 

56

文の追加

2020/09/06 13:33

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- DDSのテクスチャーをだしたい
1
+ なんとかしてテクスチャーをだしたい
test CHANGED
File without changes

55

タイトルの変更

2020/09/06 12:44

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- どうにかしてテクスチャーをだしたい
1
+ DDSのテクスチャーをだしたい
test CHANGED
File without changes

54

文の変更

2020/09/06 10:23

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,7 @@
86
86
 
87
87
  どこが違うか教えてください
88
88
 
89
- すいません まるまるコピーしたので後でコードを消します
89
+ すいません まるまるコピーしたので後でコードを消します。あと丸々コピーはしません。
90
90
 
91
91
 
92
92
 

53

文の変更

2020/09/06 09:01

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -86,6 +86,8 @@
86
86
 
87
87
  どこが違うか教えてください
88
88
 
89
+ すいません まるまるコピーしたので後でコードを消します
90
+
89
91
 
90
92
 
91
93
  !![イメージ説明](7c1bc290b285c731d2c047167ffbc3b5.png)

52

文の変更

2020/09/06 08:59

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,90 @@
1
- ![イメージ説明](9f04f07bdf0d06fedb5990f374422413.png)
1
+ ```opengl
2
2
 
3
- 服をきているはずなんだけどそれはいいとして、腹部に穴が開いてるようにみえるんですが
4
3
 
4
+
5
+
6
+
7
+ void DdsLoader(const char* filename){
8
+
9
+
10
+
11
+ FILE *fa=fopen(filename,"r");
12
+
13
+
14
+
15
+ fseek(fa,128L,SEEK_SET);
16
+
17
+
18
+
19
+ unsigned long current = ftell(fa);
20
+
21
+
22
+
23
+ fseek(fa, 0L, SEEK_END);
24
+
25
+
26
+
27
+ unsigned long file2= ftell(fa);
28
+
29
+
30
+
31
+ unsigned long imagesize=file2-current;
32
+
33
+
34
+
35
+ GLubyte *imagedata = new GLubyte[imagesize];
36
+
37
+
38
+
39
+ fseek(fa,0L,SEEK_SET);
40
+
41
+
42
+
43
+ fread(imagedata,sizeof(GLubyte),imagesize,fa); //zenbu no hairetu
44
+
45
+
46
+
47
+ unsigned int height=256; unsigned int width=256;
48
+
49
+
50
+
5
- プログラムに間違いはなさそうなんだけど、(fscanfの書式指定は除く。読まれてるのはprintfで確認済み)これってあってますか。ddsファイルはまだ作ってないんですが、つくるのが非常にめんどくさい。足の穴はなんかおかしかったので,continueで読み飛ばしたので穴があいています。聞きたいのは腹部の穴がなんで開いてるのかなのですが。
51
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // scale linearly when image bigger than texture
52
+
53
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
54
+
55
+
56
+
57
+ glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,width,height,0,GL_RGBA,GL_UNSIGNED_BYTE,
58
+
59
+ &imagedata[0]);
60
+
61
+ fclose(fa);
62
+
63
+
64
+
65
+ delete [] imagedata;
66
+
67
+
68
+
69
+ imagedata=NULL;
70
+
71
+
72
+
73
+
74
+
75
+ }
76
+
77
+ ```
78
+
79
+ http://asura.iaigiri.com/OpenGL/gl7.html
80
+
81
+
82
+
83
+ 丸々コピーしたんですがうまく表示されませんでした
84
+
85
+
86
+
87
+ どこが違うか教えてください
6
88
 
7
89
 
8
90
 
@@ -10,4 +92,8 @@
10
92
 
11
93
 
12
94
 
13
- ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。はなくなった。がちでddsファイル読み込もうとしたのにできませんでした。本の内容を実装したので出せませんが、参考になるいいサイト見つけたら教えてください。または、リトルエィディアンなんですがunsignened char 4ブロックでunsigned int  にできる説明ができる人は書いていってください。
95
+
96
+
97
+
98
+
99
+ `

51

文の改善

2020/09/06 08:56

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -10,4 +10,4 @@
10
10
 
11
11
 
12
12
 
13
- ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。はなくなった。がちでddsファイル読み込もうとしたのにできませんでした。本の内容を実装したので出せませんが、参考になるいいサイト見つけたら教えてください。または、リトルエィディアンなんですがunsignened char を unsigned int         にできる説明ができる人は教えてください。
13
+ ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。はなくなった。がちでddsファイル読み込もうとしたのにできませんでした。本の内容を実装したので出せませんが、参考になるいいサイト見つけたら教えてください。または、リトルエィディアンなんですがunsignened char 4ブロックでunsigned int  にできる説明ができる人は書いいってください。

50

文の変更

2020/09/05 14:00

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -10,4 +10,4 @@
10
10
 
11
11
 
12
12
 
13
- ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。はなくなった。がちでddsファイル読み込もうとしたのにできませんでした。本の内容を実装したので出せませんが、参考になるいいサイト見つけたら教えてください
13
+ ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。はなくなった。がちでddsファイル読み込もうとしたのにできませんでした。本の内容を実装したので出せませんが、参考になるいいサイト見つけたら教えてください。または、リトルエィディアンなんですがunsignened char を unsigned int         にできる説明ができる人は教えてください。

49

ddsファイル

2020/09/05 13:57

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -6,8 +6,8 @@
6
6
 
7
7
 
8
8
 
9
- ![イメージ説明](89dc95f75e1f26cbe38bc4425f2ccd75.png)
9
+ !![イメージ説明](7c1bc290b285c731d2c047167ffbc3b5.png)
10
10
 
11
11
 
12
12
 
13
- ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。
13
+ ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。はなくなった。がちでddsファイル読み込もうとしたのにできませんでした。本の内容を実装したので出せませんが、参考になるいいサイト見つけたら教えてください

48

図の追加

2020/09/05 13:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -3,3 +3,11 @@
3
3
  服をきているはずなんだけどそれはいいとして、腹部に穴が開いてるようにみえるんですが
4
4
 
5
5
  プログラムに間違いはなさそうなんだけど、(fscanfの書式指定は除く。読まれてるのはprintfで確認済み)これってあってますか。ddsファイルはまだ作ってないんですが、つくるのが非常にめんどくさい。足の穴はなんかおかしかったので,continueで読み飛ばしたので穴があいています。聞きたいのは腹部の穴がなんで開いてるのかなのですが。
6
+
7
+
8
+
9
+ ![イメージ説明](89dc95f75e1f26cbe38bc4425f2ccd75.png)
10
+
11
+
12
+
13
+ ddsにしたら、ちゃんと服きてるよ。でも.ddsうまく読み込む方法がわからない。足きれてるしし顎がない。ちゃんと読んだらうまくいくのかな。

47

文の追加

2020/09/05 08:36

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  服をきているはずなんだけどそれはいいとして、腹部に穴が開いてるようにみえるんですが
4
4
 
5
- プログラムに間違いはなさそうなんだけど、これってあってますか。ddsファイルはまだ作ってないんですが、つくるのが非常にめんどくさい。足の穴はなんかおかしかったので,continueで読み飛ばしたので穴があいています。聞きたいのは腹部の穴がなんで開いてるのかなのですが。
5
+ プログラムに間違いはなさそうなんだけど、(fscanfの書式指定は除く。読まれてるのはprintfで確認済み)これってあってますか。ddsファイルはまだ作ってないんですが、つくるのが非常にめんどくさい。足の穴はなんかおかしかったので,continueで読み飛ばしたので穴があいています。聞きたいのは腹部の穴がなんで開いてるのかなのですが。

46

文の変更

2020/09/03 14:39

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,135 +1,5 @@
1
- ポリゴン1個に白いテクスチャを貼りたかったのですがうまくいきませんでした。
1
+ ![イメージ説明](9f04f07bdf0d06fedb5990f374422413.png)
2
2
 
3
- wavefront(obj)で使用でたテクスチャを使っています。wavefront(obj)の時はうまく読んでました。
3
+ 服をきていずなんだけどそれはいいとして、腹部に穴が開いてるよにみえるんですが
4
4
 
5
- xファイルのboxのときもうまく張り付いてました。やはり、テクスチャの数は足りなかったですが。
6
-
7
- とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- フォーマット
18
-
19
-
20
-
21
- http://pipan9737.g1.xrea.com/fortran/DirectX/Xfile.htm
22
-
23
- MeshTextureCoordsの後だと思うけど、よくわからない。
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
- ```opengl
32
-
33
- MeshTextureCoords {
34
-
35
- 4432;
36
-
37
- 0.551713;0.158481;,
38
-
39
- 0.442939;0.266364;,
40
-
41
- 0.465760;0.091118;,
42
-
43
- .....(省略)
44
-
45
- ```
46
-
47
- ```opengl
48
-
49
-
50
-
51
- //ループの始まり//
52
-
53
- for( int i=0; i<1; i++) //6841
54
-
55
- {
56
-
57
- int a[3];
58
-
59
- a[0]=Mesh_tiny_id[(3*i)+0]; //ポリゴン
60
-
61
- a[1]=Mesh_tiny_id[(3*i)+1];
62
-
63
- a[2]=Mesh_tiny_id[(3*i)+2];
64
-
65
-
66
-
67
- ```
68
-
69
- ```opengl
70
-
71
- px=Mesh_tiny[3*a[0]+0];
72
-
73
- py=Mesh_tiny[3*a[0]+1];
74
-
75
- pz=Mesh_tiny[3*a[0]+2];
76
-
77
- .....(省略)
78
-
79
- glNormal3f(MeshNormals[3*b[0]+0],MeshNormals[3*b[0]+1],MeshNormals[3*b[0]+2]);
5
+ プログラムに間違いはなさそうなんだけど、これってあってますか。ddsファイルはまだ作ってないんですが、つくるのが非常にめんどくさい。足の穴はなんかおかしかったので,continueで読み飛ばしたので穴があいています。聞きたいのは腹部の穴がなんで開いてるのかなのですが。
80
-
81
-
82
-
83
- glTexCoord2f(0.551713,0.158481); //ここに書いた
84
-
85
-
86
-
87
- glVertex3f(qx,qy,qz);
88
-
89
- ```
90
-
91
-
92
-
93
- ```opengl
94
-
95
-
96
-
97
- px=Mesh_tiny[3*a[1]+0];
98
-
99
- py=Mesh_tiny[3*a[1]+1];
100
-
101
- pz=Mesh_tiny[3*a[1]+2];
102
-
103
- .....(省略)
104
-
105
-
106
-
107
- glNormal3f(MeshNormals[3*b[1]+0],MeshNormals[3*b[1]+1],MeshNormals[3*b[1]+2]);
108
-
109
- glTexCoord2f(0.442939,0.266364);//ここに書いた
110
-
111
- glVertex3f(qx,qy,qz);
112
-
113
-
114
-
115
- ```
116
-
117
-
118
-
119
- ```opengl
120
-
121
- px=Mesh_tiny[3*a[2]+0];
122
-
123
- py=Mesh_tiny[3*a[2]+1];
124
-
125
- pz=Mesh_tiny[3*a[2]+2];
126
-
127
- .....(省略)
128
-
129
- glNormal3f(MeshNormals[3*b[2]+0],MeshNormals[3*b[2]+1],MeshNormals[3*b[2]+2]);
130
-
131
- glTexCoord2f(0.465760,0.091118);//ここに書いた
132
-
133
- glVertex3f(qx,qy,qz);
134
-
135
- ```

45

文の変更

2020/09/03 14:24

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -7,10 +7,6 @@
7
7
  とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
8
8
 
9
9
 
10
-
11
- cwとかで教えてもらったところまでできてるつもり。
12
-
13
- ![イメージ説明](1ec7f0e90c6395ca2ece95eeea642eef.png) 後で消すけど。
14
10
 
15
11
 
16
12
 

44

文の追加

2020/08/22 13:30

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,18 @@
5
5
  xファイルのboxのときもうまく張り付いてました。やはり、テクスチャの数は足りなかったですが。
6
6
 
7
7
  とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
8
+
9
+
10
+
11
+ cwとかで教えてもらったところまでできてるつもり。
12
+
13
+ ![イメージ説明](1ec7f0e90c6395ca2ece95eeea642eef.png) 後で消すけど。
14
+
15
+
16
+
17
+
18
+
19
+
8
20
 
9
21
  フォーマット
10
22
 

43

文の追加

2020/08/22 11:29

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -6,9 +6,13 @@
6
6
 
7
7
  とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
8
8
 
9
- ![イメジ説明](f74ad0dedd985d2a28acbbc0132942cf.png)
9
+ フォマット
10
10
 
11
11
 
12
+
13
+ http://pipan9737.g1.xrea.com/fortran/DirectX/Xfile.htm
14
+
15
+ MeshTextureCoordsの後だと思うけど、よくわからない。
12
16
 
13
17
 
14
18
 

42

文の改善

2020/08/22 11:03

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -11,118 +11,6 @@
11
11
 
12
12
 
13
13
 
14
-
15
-
16
-
17
- ```opengl
18
-
19
- // この間ロジックで間違えてたやつ 直してないのであとで消す。
20
-
21
- void LoadGLTextures(const char* filename, int width,int height) {
22
-
23
- // Load Texture
24
-
25
- const char *PATH=&filename[0];
26
-
27
-
28
-
29
- FILE* fb=fopen(PATH,"r");
30
-
31
-
32
-
33
- fseek(fb,0L,SEEK_SET);
34
-
35
- unsigned long file1 = ftell(fb);
36
-
37
-
38
-
39
-
40
-
41
- fseek(fb, 0L, SEEK_END);
42
-
43
-
44
-
45
- unsigned long file2= ftell(fb);
46
-
47
-
48
-
49
- unsigned long filesize=file2-file1;
50
-
51
-
52
-
53
- unsigned char *image=new unsigned char[filesize];
54
-
55
-
56
-
57
- fseek(fb,0L,SEEK_SET);
58
-
59
-
60
-
61
- fread(image,sizeof(unsigned char),filesize,fb); //zenbu no hairetu
62
-
63
-
64
-
65
- unsigned char MappingData[filesize-54]; //786486-54
66
-
67
-
68
-
69
-
70
-
71
- for(unsigned int i=0;i< (filesize-54) ;++i)
72
-
73
-
74
-
75
- {
76
-
77
- MappingData[i]=image[(filesize)-i];
78
-
79
- }
80
-
81
-
82
-
83
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // scale linearly when image bigger than texture
84
-
85
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
86
-
87
- glTexImage3D(GL_TEXTURE_2D, 0, 3,width,height,100,0,GL_RGB,GL_UNSIGNED_BYTE,&MappingData[0]);
88
-
89
-
90
-
91
- fclose(fb);
92
-
93
- delete [] image;
94
-
95
- image=NULL;
96
-
97
- };
98
-
99
- ```
100
-
101
-
102
-
103
-
104
-
105
- ```opengl
106
-
107
-
108
-
109
- glEnable(GL_TEXTURE_2D);
110
-
111
-
112
-
113
- glGenTextures(1, &texture);//1,&texture
114
-
115
-
116
-
117
- glBindTexture(GL_TEXTURE_2D, texture);
118
-
119
-
120
-
121
- LoadGLTextures("./src/flower.bmp",1024,1024);
122
-
123
-
124
-
125
- ```
126
14
 
127
15
 
128
16
 
@@ -233,25 +121,3 @@
233
121
  glVertex3f(qx,qy,qz);
234
122
 
235
123
  ```
236
-
237
-
238
-
239
-
240
-
241
- ```opengl
242
-
243
- glDisable (GL_TEXTURE_2D);
244
-
245
- //バインドを解除
246
-
247
- glBindTexture(GL_TEXTURE_2D,0);
248
-
249
-
250
-
251
- //破棄
252
-
253
- glDeleteTextures(1, &texture); //tabun axtueru..間違えてたらすいません。
254
-
255
- ```
256
-
257
- 他にテクスチャについて、ほしい情報等があれば追記します。

41

文の改善

2020/08/22 08:35

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -78,9 +78,7 @@
78
78
 
79
79
  }
80
80
 
81
- //BMPファイルは仕様としてデータが1行は4の倍数じゃないと駄目。実装できない
81
+
82
-
83
- //4-(画像の幅×3(RGB))%4のオフセットだけ0が入ってるのでそのデータ捨てれば良かった?。
84
82
 
85
83
  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // scale linearly when image bigger than texture
86
84
 

40

文の変更

2020/08/22 06:36

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,9 @@
14
14
 
15
15
 
16
16
 
17
+ ```opengl
18
+
17
- ```opengl この間ロジックで間違えてたやつ 直してないのであとで消す。
19
+ // この間ロジックで間違えてたやつ 直してないのであとで消す。
18
20
 
19
21
  void LoadGLTextures(const char* filename, int width,int height) {
20
22
 

39

文の改善

2020/08/22 06:29

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ポリゴン1個に白いテクスチャを貼りたかったのですがうまくいきませんでした。
2
2
 
3
- wevefront(obj)で使用できたテクスチャを使っています。wevefront(obj)の時はうまく読んでました。
3
+ wavefront(obj)で使用できたテクスチャを使っています。wavefront(obj)の時はうまく読んでました。
4
4
 
5
5
  xファイルのboxのときもうまく張り付いてました。やはり、テクスチャの数は足りなかったですが。
6
6
 
@@ -10,6 +10,98 @@
10
10
 
11
11
 
12
12
 
13
+
14
+
15
+
16
+
17
+ ```opengl ←この間ロジックで間違えてたやつ 直してないのであとで消す。
18
+
19
+ void LoadGLTextures(const char* filename, int width,int height) {
20
+
21
+ // Load Texture
22
+
23
+ const char *PATH=&filename[0];
24
+
25
+
26
+
27
+ FILE* fb=fopen(PATH,"r");
28
+
29
+
30
+
31
+ fseek(fb,0L,SEEK_SET);
32
+
33
+ unsigned long file1 = ftell(fb);
34
+
35
+
36
+
37
+
38
+
39
+ fseek(fb, 0L, SEEK_END);
40
+
41
+
42
+
43
+ unsigned long file2= ftell(fb);
44
+
45
+
46
+
47
+ unsigned long filesize=file2-file1;
48
+
49
+
50
+
51
+ unsigned char *image=new unsigned char[filesize];
52
+
53
+
54
+
55
+ fseek(fb,0L,SEEK_SET);
56
+
57
+
58
+
59
+ fread(image,sizeof(unsigned char),filesize,fb); //zenbu no hairetu
60
+
61
+
62
+
63
+ unsigned char MappingData[filesize-54]; //786486-54
64
+
65
+
66
+
67
+
68
+
69
+ for(unsigned int i=0;i< (filesize-54) ;++i)
70
+
71
+
72
+
73
+ {
74
+
75
+ MappingData[i]=image[(filesize)-i];
76
+
77
+ }
78
+
79
+ //BMPファイルは仕様としてデータが1行は4の倍数じゃないと駄目。実装できない
80
+
81
+ //4-(画像の幅×3(RGB))%4のオフセットだけ0が入ってるのでそのデータ捨てれば良かった?。
82
+
83
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // scale linearly when image bigger than texture
84
+
85
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
86
+
87
+ glTexImage3D(GL_TEXTURE_2D, 0, 3,width,height,100,0,GL_RGB,GL_UNSIGNED_BYTE,&MappingData[0]);
88
+
89
+
90
+
91
+ fclose(fb);
92
+
93
+ delete [] image;
94
+
95
+ image=NULL;
96
+
97
+ };
98
+
99
+ ```
100
+
101
+
102
+
103
+
104
+
13
105
  ```opengl
14
106
 
15
107
 

38

文の改善

2020/08/22 06:28

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -142,4 +142,24 @@
142
142
 
143
143
  ```
144
144
 
145
+
146
+
147
+
148
+
149
+ ```opengl
150
+
151
+ glDisable (GL_TEXTURE_2D);
152
+
153
+ //バインドを解除
154
+
155
+ glBindTexture(GL_TEXTURE_2D,0);
156
+
157
+
158
+
159
+ //破棄
160
+
161
+ glDeleteTextures(1, &texture); //tabun axtueru..間違えてたらすいません。
162
+
163
+ ```
164
+
145
165
  他にテクスチャについて、ほしい情報等があれば追記します。

37

文の追加

2020/08/22 06:06

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,34 @@
7
7
  とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
8
8
 
9
9
  ![イメージ説明](f74ad0dedd985d2a28acbbc0132942cf.png)
10
+
11
+
12
+
13
+ ```opengl
14
+
15
+
16
+
17
+ glEnable(GL_TEXTURE_2D);
18
+
19
+
20
+
21
+ glGenTextures(1, &texture);//1,&texture
22
+
23
+
24
+
25
+ glBindTexture(GL_TEXTURE_2D, texture);
26
+
27
+
28
+
29
+ LoadGLTextures("./src/flower.bmp",1024,1024);
30
+
31
+
32
+
33
+ ```
34
+
35
+
36
+
37
+
10
38
 
11
39
  ```opengl
12
40
 

36

文の改善

2020/08/22 06:04

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -113,3 +113,5 @@
113
113
  glVertex3f(qx,qy,qz);
114
114
 
115
115
  ```
116
+
117
+ 他にテクスチャについて、ほしい情報等があれば追記します。

35

文の改善

2020/08/22 05:53

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ポリゴン1個に白いテクスチャを貼りたかったのですがうまくいきませんでした。
2
2
 
3
- wevfront(obj)で使用できたテクスチャを使っています。wevfront(obj)の時はうまく読んでました。
3
+ wevefront(obj)で使用できたテクスチャを使っています。wevefront(obj)の時はうまく読んでました。
4
4
 
5
5
  xファイルのboxのときもうまく張り付いてました。やはり、テクスチャの数は足りなかったですが。
6
6
 

34

文の変更

2020/08/22 05:41

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ポリゴン1個に白いテクスチャを貼りたかったのですがうまくいきませんでした。
2
2
 
3
- webfront(obj)で使用できたテクスチャを使っています。webfront(obj)の時はうまく読んでました。
3
+ wevfront(obj)で使用できたテクスチャを使っています。wevfront(obj)の時はうまく読んでました。
4
4
 
5
5
  xファイルのboxのときもうまく張り付いてました。やはり、テクスチャの数は足りなかったですが。
6
6
 

33

文の改善

2020/08/22 05:38

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
8
8
 
9
-
9
+ ![イメージ説明](f74ad0dedd985d2a28acbbc0132942cf.png)
10
10
 
11
11
  ```opengl
12
12
 

32

文の改善

2020/08/22 05:35

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,96 +1,72 @@
1
+ ポリゴン1個に白いテクスチャを貼りたかったのですがうまくいきませんでした。
2
+
1
- gltexCoord2f()の方が楽だと思うので使たいんでがgltexCoord2f(,);ためのインデックスがないのが問題す。簡単にできるだろうとか思っら簡単じゃなかったです
3
+ webfront(obj)で使用できテクスチャを使って。webfront(obj)の時はうまく読んました。
4
+
5
+ xファイルのboxのときもうまく張り付いてました。やはり、テクスチャの数は足りなかったですが。
6
+
7
+ とりあえず、ポリゴン1個に白い画像を貼りつけたいです。
2
8
 
3
9
 
4
10
 
5
- directxのxファイルの
11
+ ```opengl
6
12
 
7
- Mesh {
13
+ MeshTextureCoords {
8
14
 
9
- 4432; 
15
+ 4432;
10
16
 
11
- 6841; //頂点番号の行
17
+ 0.551713;0.158481;,
12
18
 
13
- 3;28,62,1;,
19
+ 0.442939;0.266364;,
14
20
 
15
- 6841; //法線の行
21
+ 0.465760;0.091118;,
16
22
 
17
- でいいんですけど
23
+ .....(省略)
18
24
 
19
- MeshTextureCoords {
25
+ ```
20
26
 
21
- 4432;←こいつにindexがついていない。理想は6841だった。
27
+ ```opengl
22
28
 
23
29
 
24
30
 
25
- MeshTextureCoords後に
31
+ //ループ始まり//
26
32
 
27
- VertexDuplicationIndices
33
+ for( int i=0; i<1; i++) //6841
28
34
 
29
- (重複頂点インデックス)  ってのがあるけど、説明があまりでてこない。
35
+ {
30
36
 
37
+ int a[3];
31
38
 
39
+ a[0]=Mesh_tiny_id[(3*i)+0]; //ポリゴン
32
40
 
33
- 重複頂点インデックスで
41
+ a[1]=Mesh_tiny_id[(3*i)+1];
34
42
 
35
- やってみたけど、出ない。
36
-
37
- ```xファイル
38
-
39
- VertexDuplicationIndices {
43
+ a[2]=Mesh_tiny_id[(3*i)+2];
40
-
41
- 4432;
42
-
43
- 3420;
44
-
45
- 0,
46
-
47
- 1,
48
-
49
- 2,
50
-
51
- 3,
52
-
53
- 4,
54
-
55
- 5,
56
-
57
- 6,
58
-
59
- 7,
60
-
61
- 8,
62
-
63
- 9,
64
-
65
- 10,
66
-
67
- 11,
68
-
69
- 12,
70
-
71
- 13,
72
-
73
- 14,
74
-
75
- 15,
76
-
77
- 16,
78
-
79
- 17,
80
-
81
- 18,
82
-
83
- 19,
84
-
85
- 20,....(省略)
86
44
 
87
45
 
88
46
 
89
47
  ```
90
48
 
91
- 関係あるのだろうか。
49
+ ```opengl
50
+
51
+ px=Mesh_tiny[3*a[0]+0];
52
+
53
+ py=Mesh_tiny[3*a[0]+1];
54
+
55
+ pz=Mesh_tiny[3*a[0]+2];
56
+
57
+ .....(省略)
58
+
59
+ glNormal3f(MeshNormals[3*b[0]+0],MeshNormals[3*b[0]+1],MeshNormals[3*b[0]+2]);
92
60
 
93
61
 
62
+
63
+ glTexCoord2f(0.551713,0.158481); //ここに書いた
64
+
65
+
66
+
67
+ glVertex3f(qx,qy,qz);
68
+
69
+ ```
94
70
 
95
71
 
96
72
 
@@ -98,53 +74,23 @@
98
74
 
99
75
 
100
76
 
101
- /*int texture_id[4432/2];//3420//todo
77
+ px=Mesh_tiny[3*a[1]+0];
78
+
79
+ py=Mesh_tiny[3*a[1]+1];
80
+
81
+ pz=Mesh_tiny[3*a[1]+2];
82
+
83
+ .....(省略)
102
84
 
103
85
 
104
86
 
105
- for(int i=0;i<4432/2;i++)//todo
87
+ glNormal3f(MeshNormals[3*b[1]+0],MeshNormals[3*b[1]+1],MeshNormals[3*b[1]+2]);
106
88
 
107
- {
89
+ glTexCoord2f(0.442939,0.266364);//ここに書いた
108
90
 
109
-
110
-
111
- fscanf(fp,"%d,\n\t\t\t\t\t%d,\n\t\t\t\t\t",
91
+ glVertex3f(qx,qy,qz);
112
92
 
113
93
 
114
-
115
- &texture_id[2*i+0],&texture_id[(2*i)+1]);//i=6840
116
-
117
-
118
-
119
- printf("%d\n",texture_id[2*i+0]);
120
-
121
- printf("%d\n",texture_id[(2*i)+1]);
122
-
123
-
124
-
125
- }
126
-
127
-
128
-
129
-
130
-
131
- ```そもそも2で割るのか。
132
-
133
-
134
-
135
- ```opengl
136
-
137
-
138
-
139
- int c[2]; //texture
140
-
141
-
142
-
143
- //c[0]=texture_id[i];
144
-
145
- //c[1]=texture_id[i];
146
-
147
- c[2] 不足。
148
94
 
149
95
  ```
150
96
 
@@ -152,18 +98,18 @@
152
98
 
153
99
  ```opengl
154
100
 
155
- glTexCoord2f(Texture[2*c[0]+0],Texture[2*c[0]+1]);
101
+ px=Mesh_tiny[3*a[2]+0];
156
102
 
103
+ py=Mesh_tiny[3*a[2]+1];
157
104
 
105
+ pz=Mesh_tiny[3*a[2]+2];
158
106
 
159
- glTexCoord2f(Texture[2*c[1]+0],Texture[2*c[1]+1]);
107
+ .....(省略)
160
108
 
109
+ glNormal3f(MeshNormals[3*b[2]+0],MeshNormals[3*b[2]+1],MeshNormals[3*b[2]+2]);
161
110
 
111
+ glTexCoord2f(0.465760,0.091118);//ここに書いた
162
112
 
163
- glTexCoord2f(Texture[2*c[2]+0],Texture[2*c[2]+1]);
113
+ glVertex3f(qx,qy,qz);
164
114
 
165
- ```で挟みたい。
115
+ ```
166
-
167
-
168
-
169
- ぐちゃぐちゃでまとまりがないのでそのあたりはすいません。

31

文の改善

2020/08/22 05:23

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  19,
84
84
 
85
- 20,
85
+ 20,....(省略)
86
86
 
87
87
 
88
88
 

30

文の改善

2020/08/21 14:24

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  ```
90
90
 
91
-
91
+ 関係あるのだろうか。
92
92
 
93
93
 
94
94
 

29

文の変更

2020/08/21 14:22

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- シェーダの構成かどうにかしてテクスチャーをだすか
1
+ どうにかしてテクスチャーをだしたい
test CHANGED
@@ -1,36 +1,4 @@
1
- テクスチャーをつける場合、
2
-
3
- シェーディング言語 と 普通にテクスチャーをgltexCoord2f(,)?(何か出ないので底が分からない)を使う場合どちらが楽でしょうか。
4
-
5
-
6
-
7
- ```shader
8
-
9
- GLenum err= glewInit();//かかないとエラー
10
-
11
-
12
-
13
- //プログラム オブジェクトを作成する。
14
-
15
- GLuint programHandle = glCreateProgram();
16
-
17
- if(0==programHandle){exit(1);}
18
-
19
-
20
-
21
- // シェーダをプログラムにアタッチする。
22
-
23
- //glAttachShader(programHandle,xxxxxxxxxx);
24
-
25
- //glAttachShader(programHandle,xxxxxxxxxx);//ここに何をかいていいか分からないレベル
26
-
27
-
28
-
29
-
30
-
31
- ```
32
-
33
- シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします。簡単ならgltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord2f(,);のためのインデックスがないのが問題です。簡単にできるだろうとか思ったら簡単じゃなかったです。
1
+ gltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord2f(,);のためのインデックスがないのが問題です。簡単にできるだろうとか思ったら簡単じゃなかったです。
34
2
 
35
3
 
36
4
 
@@ -54,8 +22,148 @@
54
22
 
55
23
 
56
24
 
57
- MeshTextureCoordsの後
25
+ MeshTextureCoordsの後
58
26
 
59
27
  VertexDuplicationIndices
60
28
 
61
- (重複頂点インデックス)  って関係ないよな。説明あまりでてこないけれども
29
+ (重複頂点インデックス)  ってのがあるけど、説明あまりでてこない。
30
+
31
+
32
+
33
+ 重複頂点インデックスで
34
+
35
+ やってみたけど、出ない。
36
+
37
+ ```xファイル
38
+
39
+ VertexDuplicationIndices {
40
+
41
+ 4432;
42
+
43
+ 3420;
44
+
45
+ 0,
46
+
47
+ 1,
48
+
49
+ 2,
50
+
51
+ 3,
52
+
53
+ 4,
54
+
55
+ 5,
56
+
57
+ 6,
58
+
59
+ 7,
60
+
61
+ 8,
62
+
63
+ 9,
64
+
65
+ 10,
66
+
67
+ 11,
68
+
69
+ 12,
70
+
71
+ 13,
72
+
73
+ 14,
74
+
75
+ 15,
76
+
77
+ 16,
78
+
79
+ 17,
80
+
81
+ 18,
82
+
83
+ 19,
84
+
85
+ 20,
86
+
87
+
88
+
89
+ ```
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ ```opengl
98
+
99
+
100
+
101
+ /*int texture_id[4432/2];//3420//todo
102
+
103
+
104
+
105
+ for(int i=0;i<4432/2;i++)//todo
106
+
107
+ {
108
+
109
+
110
+
111
+ fscanf(fp,"%d,\n\t\t\t\t\t%d,\n\t\t\t\t\t",
112
+
113
+
114
+
115
+ &texture_id[2*i+0],&texture_id[(2*i)+1]);//i=6840
116
+
117
+
118
+
119
+ printf("%d\n",texture_id[2*i+0]);
120
+
121
+ printf("%d\n",texture_id[(2*i)+1]);
122
+
123
+
124
+
125
+ }
126
+
127
+
128
+
129
+
130
+
131
+ ```そもそも2で割るのか。
132
+
133
+
134
+
135
+ ```opengl
136
+
137
+
138
+
139
+ int c[2]; //texture
140
+
141
+
142
+
143
+ //c[0]=texture_id[i];
144
+
145
+ //c[1]=texture_id[i];
146
+
147
+ c[2] 不足。
148
+
149
+ ```
150
+
151
+
152
+
153
+ ```opengl
154
+
155
+ glTexCoord2f(Texture[2*c[0]+0],Texture[2*c[0]+1]);
156
+
157
+
158
+
159
+ glTexCoord2f(Texture[2*c[1]+0],Texture[2*c[1]+1]);
160
+
161
+
162
+
163
+ glTexCoord2f(Texture[2*c[2]+0],Texture[2*c[2]+1]);
164
+
165
+ ```で挟みたい。
166
+
167
+
168
+
169
+ ぐちゃぐちゃでまとまりがないのでそのあたりはすいません。

28

文の改善

2020/08/21 14:12

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -51,3 +51,11 @@
51
51
  MeshTextureCoords {
52
52
 
53
53
  4432;←こいつにindexがついていない。理想は6841だった。
54
+
55
+
56
+
57
+ MeshTextureCoordsの後の
58
+
59
+ VertexDuplicationIndices
60
+
61
+ (重複頂点インデックス)  って関係ないよな。説明であまりでてこないけれども。

27

文の変更

2020/08/20 16:23

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -50,4 +50,4 @@
50
50
 
51
51
  MeshTextureCoords {
52
52
 
53
- 4432;←こいつにindexバッファがついていない。理想は6841だった。
53
+ 4432;←こいつにindexがついていない。理想は6841だった。

26

文の改善

2020/08/20 11:06

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -34,4 +34,20 @@
34
34
 
35
35
 
36
36
 
37
+ directxのxファイルの
38
+
39
+ Mesh {
40
+
41
+ 4432; 
42
+
43
+ 6841; //頂点番号の行
44
+
37
- 後で追記するかもしれない
45
+ 3;28,62,1;,
46
+
47
+ 6841; //法線の行
48
+
49
+ でいいんですけど
50
+
51
+ MeshTextureCoords {
52
+
53
+ 4432;←こいつにindexバッファがついていない。理想は6841だった。

25

文の改善

2020/08/20 11:05

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
File without changes

24

文の改善

2020/08/20 10:54

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```
32
32
 
33
- シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします。簡単ならgltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord2f(,);にはインデックスがないのが問題です。簡単にできるだろうとか思ったら簡単じゃなかったです。
33
+ シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします。簡単ならgltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord2f(,);のためのインデックスがないのが問題です。簡単にできるだろうとか思ったら簡単じゃなかったです。
34
34
 
35
35
 
36
36
 

23

文の改善

2020/08/20 10:49

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```
32
32
 
33
- シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします。簡単ならgltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord(,);にはインデックスがないのが問題です。
33
+ シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします。簡単ならgltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord2f(,);にはインデックスがないのが問題です。簡単にできるだろうとか思ったら簡単じゃなかったです。
34
34
 
35
35
 
36
36
 

22

文の改善

2020/08/20 10:48

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  テクスチャーをつける場合、
2
2
 
3
- シェーディング言語 と 普通にテクスチャーをgltexCoord2f()?(何か出ないので底が分からない)を使う場合どちらが楽でしょうか。
3
+ シェーディング言語 と 普通にテクスチャーをgltexCoord2f(,)?(何か出ないので底が分からない)を使う場合どちらが楽でしょうか。
4
4
 
5
5
 
6
6
 
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- //シェーダープログラムをリンクする直前に頂点属性とシェーダーの入力変数の間のマッピングをglBindAttribLocationで定義します
13
+ //プログラム オブジェクト作成する
14
14
 
15
15
  GLuint programHandle = glCreateProgram();
16
16
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- // Compile the vertex shader
21
+ // シェーダをプログラムにアタッチする。
22
22
 
23
23
  //glAttachShader(programHandle,xxxxxxxxxx);
24
24
 
@@ -30,6 +30,8 @@
30
30
 
31
31
  ```
32
32
 
33
- シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします
33
+ シェーディング言語 と 普通にテクスチャーどちらを使うかで、けっこう真剣に考えているのでよろしくお願いします。簡単ならgltexCoord2f()の方が楽だと思うので使いたいんですがgltexCoord(,);にはインデックスがないのが問題です。
34
+
35
+
34
36
 
35
37
  後で追記するかもしれない

21

文の変更

2020/08/20 10:46

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  テクスチャーをつける場合、
2
2
 
3
- シェーディング言語 と 普通にテクスチャーをgltexCoord2f()?(何か出ない)を使う場合どちらが楽でしょうか。
3
+ シェーディング言語 と 普通にテクスチャーをgltexCoord2f()?(何か出ないので底が分からない)を使う場合どちらが楽でしょうか。
4
4
 
5
5
 
6
6
 

20

文の改善

2020/08/20 10:36

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- 頂点シェーダとフラグメントシェーダの構成
1
+ シェーダの構成かどうにかしてテクスチャーをだすか
test CHANGED
@@ -1,131 +1,35 @@
1
+ テクスチャーをつける場合、
2
+
3
+ シェーディング言語 と 普通にテクスチャーをgltexCoord2f()?(何か出ない)を使う場合どちらが楽でしょうか。
4
+
5
+
6
+
7
+ ```shader
8
+
1
- 頂点シェーダグメントシェダの構成について質問です
9
+ GLenum err= glewInit();//かかないラー
2
10
 
3
11
 
4
12
 
13
+ //シェーダープログラムをリンクする直前に頂点属性とシェーダーの入力変数の間のマッピングをglBindAttribLocationで定義します
14
+
15
+ GLuint programHandle = glCreateProgram();
16
+
5
- openglのシェーダで書いていきたいのですが、
17
+ if(0==programHandle){exit(1);}
6
18
 
7
19
 
8
20
 
9
- (簡単なソースコードがあったら教えてください。)
21
+ // Compile the vertex shader
10
22
 
23
+ //glAttachShader(programHandle,xxxxxxxxxx);
11
24
 
12
-
13
- 「まず、聞きたいとは、頂点シェーダとフラグメントシェーダは、拡張子が必要であるのうことです。」
25
+ //glAttachShader(programHandle,xxxxxxxxxx);//何をかいていいか分からないレベル
14
26
 
15
27
 
16
28
 
17
29
 
18
30
 
19
-
20
-
21
- 入門っぽいサイトを参考にしました。短くて楽だと思ったら、ただの、説明で、間違えてるかもしれません。
22
-
23
-
24
-
25
- できれば、短いコードのやつが欲しいです。
26
-
27
-
28
-
29
- サイトには、
30
-
31
-
32
-
33
- ```shader
34
-
35
-
36
-
37
-
38
-
39
- const char *vertex_shader =
40
-
41
- "in vec4 position;\n"
42
-
43
- "out vec4 myPos;\n"
44
-
45
- "void main() {\n"
46
-
47
- " myPos = position;\n"
48
-
49
- " gl_Position = position;\n"
50
-
51
- "}\n";
52
-
53
-
54
-
55
- const char *fragment_shader =
56
-
57
- "uniform float phase;\n"
58
-
59
- "in vec4 myPos;\n"
60
-
61
- "void main() {\n"
62
-
63
- " gl_FragColor = ...;\n"
64
-
65
- "}\n";
66
-
67
-
68
-
69
-
70
-
71
- // Compile the vertex shader.
72
-
73
- GLuint vshader = glCreateShader(GL_VERTEX_SHADER);
74
-
75
- glShaderSource(vshader, 1, &vertex_shader, 0);
76
-
77
-
78
-
79
-
80
-
81
- /*
82
-
83
- // Compile the fragment shader.
84
-
85
- GLuint fshader = glCreateShader(GL_FRAGMENT_SHADER);
86
-
87
- glShaderSource(fshader, 1, &fragment_shader, 0);
88
-
89
-
90
-
91
- // Create a program that stitches the two shader stages together.
92
-
93
- GLuint shader_program = glCreateProgram();
94
-
95
- glAttachShader(shader_program, vshader);
96
-
97
- glAttachShader(shader_program, fshader);
98
-
99
- glLinkProgram(shader_program);
100
-
101
-
102
-
103
- */
104
-
105
31
  ```
106
32
 
107
- してあったのでそのまま張り付けてるかどうかを確かめたんですが、
33
+ シェーディング言語  普にテクスチャーちらを使うかで、けっこう真剣に考えているのでよろしくお願いしま
108
34
 
109
- エラー内容
110
-
111
- /home/hoge/hoge/src/main.cc:67:49: エラー: ‘glCreateShader’ was not declared in this scope
112
-
113
-
114
-
115
- /home/hoge/hoge/src/main.cc:68:45: エラー: ‘glShaderSource’ was not declared in this scope
116
-
117
-
118
-
119
-
120
-
121
- えっ「ふたつもファイルが必要なのと思ったんです」が、もしくは、宣言が必要。このshadeをエラーなしで通すにはどうしたらいいですか。それとも、頂点シェーダとフラグメントシェーダはopenglで扱う上で間違えているのか(GLSL)ってのがあるようなので。という質問内容です。
122
-
123
-
124
-
125
- 補足:glewをいれたところ、エラーは、少しはましになるがsignalerror がでてしまう。文字列の箇所はmainファイルじゃなくてもできるかもしれないが,mainファイルに直接書いてもいいみたい
126
-
127
-
128
-
129
- 今度は、simple.vert simple.flagに入れてあるやつばかりでるよ。
130
-
131
- ああ、うわからん。回答無理。
35
+ 後で追記するかしれない

19

文の改善

2020/08/20 10:20

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -122,4 +122,10 @@
122
122
 
123
123
 
124
124
 
125
- 補足:glewをいれたところ、エラーは、少しはましになるがsignalerror がでてしまう。文字列の箇所はmainファイルじゃなくてもできるかもしれないが,mainファイルに直接書いてもいいみたい
125
+ 補足:glewをいれたところ、エラーは、少しはましになるがsignalerror がでてしまう。文字列の箇所はmainファイルじゃなくてもできるかもしれないが,mainファイルに直接書いてもいいみたい
126
+
127
+
128
+
129
+ 今度は、simple.vert simple.flagに入れてあるやつばかりでるよ。
130
+
131
+ ああ、もうわからん。回答無理。

18

文の改善

2020/07/31 14:59

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -122,4 +122,4 @@
122
122
 
123
123
 
124
124
 
125
- 補足:glewをいれたところ、少しはましになるがsignalerror がでてしまう。文字列の箇所はmainファイルじゃなくてもできるかもしれないが,mainファイルに直接書いてもいいみたい。
125
+ 補足:glewをいれたところ、エラーは、少しはましになるがsignalerror がでてしまう。文字列の箇所はmainファイルじゃなくてもできるかもしれないが,mainファイルに直接書いてもいいみたい。

17

文の改善

2020/07/31 12:49

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -119,3 +119,7 @@
119
119
 
120
120
 
121
121
  えっ「ふたつもファイルが必要なのと思ったんです」が、もしくは、宣言が必要。このshadeをエラーなしで通すにはどうしたらいいですか。それとも、頂点シェーダとフラグメントシェーダはopenglで扱う上で間違えているのか(GLSL)ってのがあるようなので。という質問内容です。
122
+
123
+
124
+
125
+ 補足:glewをいれたところ、少しはましになるがsignalerror がでてしまう。文字列の箇所はmainファイルじゃなくてもできるかもしれないが,mainファイルに直接書いてもいいみたい。

16

文の改善

2020/07/31 12:48

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- ```shade
33
+ ```shader
34
34
 
35
35
 
36
36
 

15

文の改善

2020/07/31 10:53

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,11 @@
6
6
 
7
7
 
8
8
 
9
+ (簡単なソースコードがあったら教えてください。)
10
+
11
+
12
+
9
- 「まず、頂点シェーダとフラグメントシェーダには、拡張子が必要であるのかということです。」
13
+ 「まず、聞きたいことは、頂点シェーダとフラグメントシェーダには、拡張子が必要であるのかということです。」
10
14
 
11
15
 
12
16
 
@@ -14,7 +18,7 @@
14
18
 
15
19
 
16
20
 
17
- 入門っぽいサイトを参考にしました。短くて楽だと思ったら、間違えてるかもしれません。
21
+ 入門っぽいサイトを参考にしました。短くて楽だと思ったら、ただの、説明で、間違えてるかもしれません。
18
22
 
19
23
 
20
24
 
@@ -112,4 +116,6 @@
112
116
 
113
117
 
114
118
 
119
+
120
+
115
- えっ「ふたつもファイルが必要なのと思ったんです」が、このshadeをエラーなしで通すにはどうしたらいいですか。それとも、頂点シェーダとフラグメントシェーダはopenglで扱う上で間違えているのか(GLSL)ってのがあるようなので。という質問内容です。
121
+ えっ「ふたつもファイルが必要なのと思ったんです」が、もしくは、宣言が必要。このshadeをエラーなしで通すにはどうしたらいいですか。それとも、頂点シェーダとフラグメントシェーダはopenglで扱う上で間違えているのか(GLSL)ってのがあるようなので。という質問内容です。

14

文の改善

2020/07/31 10:49

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,11 @@
14
14
 
15
15
 
16
16
 
17
- 入門っぽいサイトを参考にしました。
17
+ 入門っぽいサイトを参考にしました。短くて楽だと思ったら、間違えてるかもしれません。
18
+
19
+
20
+
21
+ できれば、短いコードのやつが欲しいです。
18
22
 
19
23
 
20
24
 

13

文の改善

2020/07/31 10:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,8 @@
1
- 「画像にある、白い影がそれです」(調べるときは、平面投影シャドウとかソフト影とかででてきます。)
2
-
3
- 上はdirectxのシェーダで書き込まれいますが、よくわからないです
1
+ 頂点シェーダとフラグメントシェーダの構成につい質問です
4
2
 
5
3
 
6
4
 
7
- そしてこれをopenglのシェーダで書いていきたいのですが、
5
+ openglのシェーダで書いていきたいのですが、
8
6
 
9
7
 
10
8
 

12

文の改善

2020/07/31 09:39

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,9 +1,3 @@
1
- ![イメージ説明](2293dabe1dd8f241b8f4e58feca93813.jpeg)
2
-
3
- 最終的に画像で上のような小さい画像を作りたいです
4
-
5
-
6
-
7
1
  「画像にある、白い影がそれです」(調べるときは、平面投影シャドウとかソフト影とかででてきます。)
8
2
 
9
3
  上はdirectxのシェーダで書き込まれていますが、よくわからないです。
@@ -25,8 +19,6 @@
25
19
  入門っぽいサイトを参考にしました。
26
20
 
27
21
 
28
-
29
- https://postd.cc/weep-for-graphics-programming/
30
22
 
31
23
  サイトには、
32
24
 

11

文の改善

2020/07/31 09:37

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- 画像に小さい画像をつくる
1
+ 頂点シェーダとフラグメントシェーダの構成
test CHANGED
@@ -1,31 +1,121 @@
1
1
  ![イメージ説明](2293dabe1dd8f241b8f4e58feca93813.jpeg)
2
2
 
3
- 画像で上のような小さい画像を作りたいです
3
+ 最終的に画像で上のような小さい画像を作りたいです
4
4
 
5
5
 
6
6
 
7
- 「画像にある、白い影がそれです」これdirectx(ェーダ)のコードで書かれいて
7
+ 「画像にある、白い影がそれです」(調べるとき、平面投影ウとかソフト影とかきます。)
8
8
 
9
- 、openglを使用しているので、何回かチャレンジししたが、上手出てくれませんした
9
+ directxシェーダ書き込まれが、わからない
10
+
11
+
12
+
13
+ そしてこれをopenglのシェーダで書いていきたいのですが、
14
+
15
+
16
+
17
+ 「まず、頂点シェーダとフラグメントシェーダには、拡張子が必要であるのかということです。」
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ 入門っぽいサイトを参考にしました。
26
+
27
+
28
+
29
+ https://postd.cc/weep-for-graphics-programming/
30
+
31
+ サイトには、
32
+
33
+
34
+
35
+ ```shade
36
+
37
+
38
+
39
+
40
+
41
+ const char *vertex_shader =
42
+
43
+ "in vec4 position;\n"
44
+
45
+ "out vec4 myPos;\n"
46
+
47
+ "void main() {\n"
48
+
49
+ " myPos = position;\n"
50
+
51
+ " gl_Position = position;\n"
52
+
53
+ "}\n";
10
54
 
11
55
 
12
56
 
13
- 最終的に、マップを作り現在地をだしたりしたいのですが?、どうすれば小さい画像が
57
+ const char *fragment_shader =
14
58
 
59
+ "uniform float phase;\n"
60
+
61
+ "in vec4 myPos;\n"
62
+
63
+ "void main() {\n"
64
+
65
+ " gl_FragColor = ...;\n"
66
+
15
- 上手くでるのかわかりません。
67
+ "}\n";
16
68
 
17
69
 
18
70
 
71
+
72
+
19
- 詳しい方、もしくは、わかるかたいらしましたら、よろしくお願いします。
73
+ // Compile the vertex shader.
74
+
75
+ GLuint vshader = glCreateShader(GL_VERTEX_SHADER);
76
+
77
+ glShaderSource(vshader, 1, &vertex_shader, 0);
20
78
 
21
79
 
22
80
 
81
+
82
+
83
+ /*
84
+
85
+ // Compile the fragment shader.
86
+
87
+ GLuint fshader = glCreateShader(GL_FRAGMENT_SHADER);
88
+
89
+ glShaderSource(fshader, 1, &fragment_shader, 0);
90
+
91
+
92
+
93
+ // Create a program that stitches the two shader stages together.
94
+
95
+ GLuint shader_program = glCreateProgram();
96
+
97
+ glAttachShader(shader_program, vshader);
98
+
99
+ glAttachShader(shader_program, fshader);
100
+
23
- (調べるときは、平面投影シャドウとかソフト影とかででてきます。)
101
+ glLinkProgram(shader_program);
24
102
 
25
103
 
26
104
 
105
+ */
106
+
107
+ ```
108
+
27
- 後、openglでのシェーダの作方もわらないのでそちら教えてくれてもいいです
109
+ としてあったのまま張付けて通るどうか確かめたんですが、
110
+
111
+ エラー内容
112
+
113
+ /home/hoge/hoge/src/main.cc:67:49: エラー: ‘glCreateShader’ was not declared in this scope
28
114
 
29
115
 
30
116
 
117
+ /home/hoge/hoge/src/main.cc:68:45: エラー: ‘glShaderSource’ was not declared in this scope
118
+
119
+
120
+
31
- 追記 openglの頂点シェーダとフラグメントシェーダの構成わかりません
121
+ えっ「ふたつもファイルが必要なのと思ったんです」が、このshadeをエラーなしで通すにはどうしたらいいですか。それとも、頂点シェーダとフラグメントシェーダはopenglで扱う上で間違えているか(GLSL)ってのあるようなのでという質問内容です。

10

文の改善

2020/07/31 09:35

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -28,4 +28,4 @@
28
28
 
29
29
 
30
30
 
31
- openglのシェーダの工程長すぎる
31
+ 追記 openglの頂点シェーダとフラグメントシェーダ構成わかりません

9

文の改善

2020/07/31 06:05

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,7 @@
25
25
 
26
26
 
27
27
  後、openglでのシェーダの作り方もわからないのでそちらを教えてくれてもいいです。
28
+
29
+
30
+
31
+ openglのシェーダの工程が長すぎる。

8

文の改善

2020/07/30 11:59

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,7 @@
21
21
 
22
22
 
23
23
  (調べるときは、平面投影シャドウとかソフト影とかででてきます。)
24
+
25
+
26
+
27
+ 後、openglでのシェーダの作り方もわからないのでそちらを教えてくれてもいいです。

7

文の改善

2020/07/30 11:09

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- 画像にミニバッファをつくる
1
+ 画像に小さい画像をつくる
test CHANGED
File without changes

6

文の改善

2020/07/30 09:48

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ![イメージ説明](2293dabe1dd8f241b8f4e58feca93813.jpeg)
2
2
 
3
- 画像で上のようなミニバッファを作りたいです
3
+ 画像で上のような小さい画像を作りたいです
4
4
 
5
5
 
6
6
 
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 最終的に、マップを作り現在地をだしたりしたいのですが?、どうすればミニバッファ
13
+ 最終的に、マップを作り現在地をだしたりしたいのですが?、どうすれば小さい画像
14
14
 
15
15
  上手くでるのかわかりません。
16
16
 

5

文の改善

2020/07/30 09:46

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 最終的に、マップを作り現在地をだしたりしたいのですが、どうすればミニバッファが
13
+ 最終的に、マップを作り現在地をだしたりしたいのですが、どうすればミニバッファが
14
14
 
15
15
  上手くでるのかわかりません。
16
16
 

4

文の改善

2020/07/30 09:39

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -20,4 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- (調べるときは、平面ソフトシャドウとかソフト影とかででてきます。)
23
+ (調べるときは、平面投影シャドウとかソフト影とかででてきます。)

3

文の改善

2020/07/30 09:37

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- 「画像にある、白い影がそれです」これはdirectxのコードで書かれていて
7
+ 「画像にある、白い影がそれです」これはdirectx(シェーダ)のコードで書かれていて
8
8
 
9
9
  私は、openglを使用しているので、何回かチャレンジしてみましたが、上手く出てくれませんでした。
10
10
 

2

文の改善

2020/07/30 08:50

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -17,3 +17,7 @@
17
17
 
18
18
 
19
19
  詳しい方、もしくは、わかるかたいらしましたら、よろしくお願いします。
20
+
21
+
22
+
23
+ (調べるときは、平面ソフトシャドウとかソフト影とかででてきます。)

1

文の改善

2020/07/30 08:49

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,9 @@
10
10
 
11
11
 
12
12
 
13
- 最終的に、マップを作り現在地をだしたりしたいのですが、どうすれば上手くいくかわかりません。
13
+ 最終的に、マップを作り現在地をだしたりしたいのですが、どうすればミニバッファが
14
+
15
+ 上手くでるのかわかりません。
14
16
 
15
17
 
16
18