質問編集履歴

40

修正

2023/12/02 10:00

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
  //
63
63
  //f 20400
64
64
  glEnd();
65
- 4は混乱しているので自己責任でお願いします。全体を通して間違えてても責任とれません.間違えていましたら教えてください。
65
+ 4は自己責任でお願いします。全体を通して間違えてても責任とれません.間違えていましたら教えてください。
66
66
 
67
67
 
68
68
 

39

修正

2023/12/02 09:58

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -46,7 +46,24 @@
46
46
  f[1]=vertex[(3*k)+1];
47
47
  f[2]=vertex[(3*k)+2];  番号としました。
48
48
 
49
+ 4. (例) glVertex3f(v[(3 * (a[0]-1))+0 ], v[(3 * (a[0]-1)) +1], v[(3 * (a[0] -1))+2]);
50
+
51
+ // printf("%f=v[3 * 21216 +0],v[3 * (21216) +1] =%f,v[3 * 21216 +2]=%f\n",v[3 * (21216) +0],v[3 * 21216 +1], v[3 * 21216 +2]);
52
+ //f 21217
53
+ glVertex3f(v[(3 * (a[1]-1))+0], v[(3 * (a[1]-1))+1], v[(3 * (a[1]-1))+2]);
54
+
55
+ // printf("%f=v[3 * 21215 +0],v[3 * (21215) +1] =%f,v[3 * 21215 +2]=%f\n",v[3 * (21215) + 0], v[3 * 21215 + 1], v[3 * 21215 + 2]);
56
+ //f21216
57
+
58
+
59
+ glVertex3f(v[(3 * (a[2]-1))+0], v[(3 * (a[2]-1)) +1], v[(3 * (a[2]-1)) +2]);
60
+ // printf("%f=v[3 * 20399 +0],v[3 * (20399) +1] =%f,v[3 * 20399 +2]=%f\n", v[3 * (20399) + 0], v[3 * 20399 + 1], v[3 * 20399 + 2]);
61
+ //
62
+ //
63
+ //f 20400
64
+ glEnd();
65
+ 4は混乱しているので自己責任でお願いします。全体を通して間違えてても責任とれません.間違えていましたら教えてください。
66
+
49
67
 
50
68
 
51
69
 
52
-

38

修正

2023/12/02 09:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -44,10 +44,9 @@
44
44
 
45
45
  3.f[0]=vertex[(3*k)+0];
46
46
  f[1]=vertex[(3*k)+1];
47
- f[2]=vertex[(3*k)+2];  番号
47
+ f[2]=vertex[(3*k)+2];  番号としました。
48
-
49
- 4.(間違えてたら嫌なので、修正)
50
- 間違えてても責任とれません.間違えていましたら教えてください。
51
48
 
52
49
 
53
50
 
51
+
52
+

37

修正

2023/12/02 09:39

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -46,21 +46,7 @@
46
46
  f[1]=vertex[(3*k)+1];
47
47
  f[2]=vertex[(3*k)+2];  番号
48
48
 
49
- 4. (例) glVertex3f(v[(3 * (a[0]-1))+0 ], v[(3 * (a[0]-1)) +1], v[(3 * (a[0] -1))+2]);
50
-
51
- // printf("%f=v[3 * 21216 +0],v[3 * (21216) +1] =%f,v[3 * 21216 +2]=%f\n",v[3 * (21216) +0],v[3 * 21216 +1], v[3 * 21216 +2]);
52
- //f 21217
53
- glVertex3f(v[(3 * (a[1]-1))+0], v[(3 * (a[1]-1))+1], v[(3 * (a[1]-1))+2]);
54
-
55
- // printf("%f=v[3 * 21215 +0],v[3 * (21215) +1] =%f,v[3 * 21215 +2]=%f\n",v[3 * (21215) + 0], v[3 * 21215 + 1], v[3 * 21215 + 2]);
56
- //f21216
49
+ 4.(間違えてたら嫌なので、修正)
57
-
58
- glVertex3f(v[(3 * (a[2]-1))+0], v[(3 * (a[2]-1)) +1], v[(3 * (a[2]-1)) +2]);
59
- // printf("%f=v[3 * 20399 +0],v[3 * (20399) +1] =%f,v[3 * 20399 +2]=%f\n", v[3 * (20399) + 0], v[3 * 20399 + 1], v[3 * 20399 + 2]);
60
- //
61
- //
62
- //f 20400
63
- glEnd();
64
50
  間違えてても責任とれません.間違えていましたら教えてください。
65
51
 
66
52
 

36

文章の修正

2023/12/01 05:12

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -33,9 +33,8 @@
33
33
  chatで調べた。ファイルは確認してない。間違えてたらすいません。自分で調べて。責任とりません。
34
34
  //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
35
35
 
36
- また
36
+
37
- 頂点から、法線を出したと思うのでわかりません。
38
- 頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。
37
+ 法線は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。修正しました。
39
38
 
40
39
  1例。fscanf_sのスペースは考慮してない。
41
40
 

35

書式の改善

2023/11/22 05:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
  glVertex3f(v[(3 * (a[1]-1))+0], v[(3 * (a[1]-1))+1], v[(3 * (a[1]-1))+2]);
55
55
 
56
56
  // printf("%f=v[3 * 21215 +0],v[3 * (21215) +1] =%f,v[3 * 21215 +2]=%f\n",v[3 * (21215) + 0], v[3 * 21215 + 1], v[3 * 21215 + 2]);
57
- //21216
57
+ //f21216
58
58
 
59
59
  glVertex3f(v[(3 * (a[2]-1))+0], v[(3 * (a[2]-1)) +1], v[(3 * (a[2]-1)) +2]);
60
60
  // printf("%f=v[3 * 20399 +0],v[3 * (20399) +1] =%f,v[3 * 20399 +2]=%f\n", v[3 * (20399) + 0], v[3 * 20399 + 1], v[3 * 20399 + 2]);

34

書式の改善

2023/11/22 05:21

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -33,7 +33,7 @@
33
33
  chatで調べた。ファイルは確認してない。間違えてたらすいません。自分で調べて。責任とりません。
34
34
  //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
35
35
 
36
- glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にし
36
+ また
37
37
  頂点から、法線を出したと思うのでわかりません。
38
38
  頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。
39
39
 

33

修正

2023/11/22 04:32

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
  //
63
63
  //f 20400
64
64
  glEnd();
65
- 間違えてても責任とれません
65
+ 間違えてても責任とれません.間違えていましたら教えてください。
66
66
 
67
67
 
68
68
 

32

書式の変更

2023/11/22 04:26

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -47,10 +47,22 @@
47
47
  f[1]=vertex[(3*k)+1];
48
48
  f[2]=vertex[(3*k)+2];  番号
49
49
 
50
- 4.glvertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);
50
+ 4. (例) glVertex3f(v[(3 * (a[0]-1))+0 ], v[(3 * (a[0]-1)) +1], v[(3 * (a[0] -1))+2]);
51
- たぶんこう
52
51
 
52
+ // printf("%f=v[3 * 21216 +0],v[3 * (21216) +1] =%f,v[3 * 21216 +2]=%f\n",v[3 * (21216) +0],v[3 * 21216 +1], v[3 * 21216 +2]);
53
+ //f 21217
54
+ glVertex3f(v[(3 * (a[1]-1))+0], v[(3 * (a[1]-1))+1], v[(3 * (a[1]-1))+2]);
55
+
56
+ // printf("%f=v[3 * 21215 +0],v[3 * (21215) +1] =%f,v[3 * 21215 +2]=%f\n",v[3 * (21215) + 0], v[3 * 21215 + 1], v[3 * 21215 + 2]);
57
+ //21216
58
+
59
+ glVertex3f(v[(3 * (a[2]-1))+0], v[(3 * (a[2]-1)) +1], v[(3 * (a[2]-1)) +2]);
60
+ // printf("%f=v[3 * 20399 +0],v[3 * (20399) +1] =%f,v[3 * 20399 +2]=%f\n", v[3 * (20399) + 0], v[3 * 20399 + 1], v[3 * 20399 + 2]);
61
+ //
62
+ //
63
+ //f 20400
64
+ glEnd();
53
- (9*は、3*にしした。)
65
+ 間違えてても責任とれせん
54
- まだ、間違いがありましたら、回答欄に回答をお願いします。
55
- それを踏まえて、グローシェーダを順を追うとどうなるのかという質問でした。
56
66
 
67
+
68
+

31

追記

2023/10/31 16:07

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -34,9 +34,21 @@
34
34
  //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
35
35
 
36
36
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
37
- a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。
37
+ 頂点から、法線を出したと思うのでわかりません。
38
38
  頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。
39
39
 
40
+ 1例。fscanf_sのスペースは考慮してない。
41
+
42
+ 1.fscanf_s(fp,%f %f %f ,&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);
43
+ ....頂点の数値を読み取る。
44
+ 2.fscanf_s(fp,"%d//%d//%d%d//%d",&vertex[((3*k)+0],&housen[3*k+0],&vertex[(3*k+1)],&housen[.....省略 番号を読み取る
45
+
46
+ 3.f[0]=vertex[(3*k)+0];
47
+ f[1]=vertex[(3*k)+1];
48
+ f[2]=vertex[(3*k)+2];  番号
49
+
50
+ 4.glvertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);
51
+ たぶんこう
40
52
 
41
53
  (9*は、3*にしました。)
42
54
  まだ、間違いがありましたら、回答欄に回答をお願いします。

30

追記

2023/10/30 08:01

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  //fscanf_s(fp,%f%f%f ",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);
26
26
  //ファイルに改行があったらfscanf_sにスペースをいれるそう。
27
- //(そもそもファイルに改行があるのりません。)
27
+ //(やはりわかりません。自分で調べてください
28
28
  //ファイルに空白があったらfscanf_sにスペースを1個いれるそう。
29
29
 
30
30
  //ファイルに,があったら fscanf_sに,をいれるそう。

29

追記

2023/10/29 13:18

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -29,7 +29,7 @@
29
29
 
30
30
  //ファイルに,があったら fscanf_sに,をいれるそう。
31
31
  %[^,]は、カンマ以外の文字列
32
- canf_s("%[^,],%d,%lf", s, sizeof(s), &n, &x)
32
+ fscanf_s("%[^,],%d,%lf", s, sizeof(s), &n, &x)
33
33
  chatで調べた。ファイルは確認してない。間違えてたらすいません。自分で調べて。責任とりません。
34
34
  //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
35
35
 

28

追記

2023/10/29 13:16

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -24,14 +24,13 @@
24
24
 
25
25
  //fscanf_s(fp,%f%f%f ",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);
26
26
  //ファイルに改行があったらfscanf_sにスペースをいれるそう。
27
-
27
+ //(そもそもファイルに改行があるのかしりません。)
28
28
  //ファイルに空白があったらfscanf_sにスペースを1個いれるそう。
29
29
 
30
30
  //ファイルに,があったら fscanf_sに,をいれるそう。
31
31
  %[^,]は、カンマ以外の文字列
32
32
  canf_s("%[^,],%d,%lf", s, sizeof(s), &n, &x)
33
33
  chatで調べた。ファイルは確認してない。間違えてたらすいません。自分で調べて。責任とりません。
34
-
35
34
  //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
36
35
 
37
36
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。

27

追記

2023/10/25 09:38

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
  // printf("%d\n", num); // 読み込んだ整数を表示する
23
23
  //でした。
24
24
 
25
- //fscanf_s(fp,%f //%f%f ",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);
25
+ //fscanf_s(fp,%f%f%f ",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);
26
26
  //ファイルに改行があったらfscanf_sにスペースをいれるそう。
27
27
 
28
28
  //ファイルに空白があったらfscanf_sにスペースを1個いれるそう。

26

追記

2023/10/25 09:35

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -21,6 +21,17 @@
21
21
  //を読み込む
22
22
  // printf("%d\n", num); // 読み込んだ整数を表示する
23
23
  //でした。
24
+
25
+ //fscanf_s(fp,%f //%f%f ",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);
26
+ //ファイルに改行があったらfscanf_sにスペースをいれるそう。
27
+
28
+ //ファイルに空白があったらfscanf_sにスペースを1個いれるそう。
29
+
30
+ //ファイルに,があったら fscanf_sに,をいれるそう。
31
+ %[^,]は、カンマ以外の文字列
32
+ canf_s("%[^,],%d,%lf", s, sizeof(s), &n, &x)
33
+ chatで調べた。ファイルは確認してない。間違えてたらすいません。自分で調べて。責任とりません。
34
+
24
35
  //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
25
36
 
26
37
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。

25

追記

2023/10/25 07:57

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -21,6 +21,7 @@
21
21
  //を読み込む
22
22
  // printf("%d\n", num); // 読み込んだ整数を表示する
23
23
  //でした。
24
+ //vやvnなどは読み飛ばすかどうするかは自分でなんかして。
24
25
 
25
26
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
26
27
  a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。

24

追記

2023/10/25 05:15

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -16,9 +16,11 @@
16
16
  で修正したものが、fscanf_s(fp,%f %f%f",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);とな
17
17
 
18
18
  り、(ここ何でこうなるか分かっていないところだった。数値の読み取りを書きたい。)
19
+
19
-  (fscanf_s(fp, "%d", &num) == 1) { // ファイルから整数を読み込む
20
+ //使い方 fscanf_s(fp, "%d", &num) // ファイルから整数
21
+ //を読み込む
20
- printf("%d\n", num); // 読み込んだ整数を表示する
22
+ // printf("%d\n", num); // 読み込んだ整数を表示する
21
- でした。
23
+ //でした。
22
24
 
23
25
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
24
26
  a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。

23

追記

2023/10/25 05:11

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,9 @@
16
16
  で修正したものが、fscanf_s(fp,%f %f%f",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);とな
17
17
 
18
18
  り、(ここ何でこうなるか分かっていないところだった。数値の読み取りを書きたい。)
19
-
19
+ 例 (fscanf_s(fp, "%d", &num) == 1) { // ファイルから整数を読み込む
20
+ printf("%d\n", num); // 読み込んだ整数を表示する
21
+ でした。
20
22
 
21
23
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
22
24
  a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。

22

追記

2023/10/25 04:09

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  で修正したものが、fscanf_s(fp,%f %f%f",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);とな
17
17
 
18
- り、(ここ何でこうなるか分かっていないところだった。)
18
+ り、(ここ何でこうなるか分かっていないところだった。数値の読み取りを書きたい。)
19
19
 
20
20
 
21
21
  glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。

21

追記

2023/10/25 04:05

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -15,7 +15,10 @@
15
15
 
16
16
  で修正したものが、fscanf_s(fp,%f %f%f",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);とな
17
17
 
18
+ り、(ここ何でこうなるか分かっていないところだった。)
19
+
20
+
18
- り、glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
21
+ glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
19
22
  a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。
20
23
  頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。
21
24
 

20

書式の改善

2023/09/22 08:50

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -17,6 +17,9 @@
17
17
 
18
18
  り、glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
19
19
  a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。
20
+ 頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。
21
+
22
+
20
23
  (9*は、3*にしました。)
21
24
  まだ、間違いがありましたら、回答欄に回答をお願いします。
22
25
  それを踏まえて、グローシェーダを順を追うとどうなるのかという質問でした。

19

質問の背景を書いた。

2023/09/19 04:20

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,19 +1,23 @@
1
1
  [リンク先を参考に、実装したいのですが]
2
-
3
2
  [リンク](http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
4
-
5
3
  グーローシェーダーらしいので、このコードを試してみたかったです。
6
4
 
7
-
8
-
9
5
  追記:一定時間たって、質問のコードが正しくないのと進展がないという理由
10
-
11
6
  から、ソースコードは、削除します。
12
-
13
7
  追記: }は忘れてました。
14
8
 
9
+ 追記...何を聞ききたいか分からなくなったので削除。
10
+ 隣接する面の法線を平均したものになるって普通だと思うけど。
15
11
 
12
+ 意図的に内容が抹消された質問とありましたので追記します。
16
13
 
17
- 追記...何を聞ききたか分からなくなったので削除
14
+ 最後に読み込むデータが2列ぐらあるのですが、printfしても表記されませんforループをこれ以上増やすと、アプリケーションが落ちます。とありますように、データの読み取りにミスがあると思います。
18
15
 
16
+ で修正したものが、fscanf_s(fp,%f %f%f",&v[(i*3)+0],&v[(i*3)+1],&v[(i*3)+2]);とな
17
+
18
+ り、glVertex3fは、glVertex3f(v[3*f[0]-3],v[3*f[0]-2],v[3*f[0]-1]);にしました。
19
+ a[0]は f[0]で、b[0]は、頂点から、法線を出したと思うのでわかりません。
20
+ (9*は、3*にしました。)
19
- 隣接する面の法線を平均したものなるって普通だと思うけど
21
+ まだ、間違いがありましたら、回答欄回答をお願いします
22
+ それを踏まえて、グローシェーダを順を追うとどうなるのかという質問でした。
23
+

18

文の変更

2021/12/17 05:04

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,5 @@
15
15
 
16
16
 
17
17
  追記...何を聞ききたいか分からなくなったので削除。
18
+
19
+ 隣接する面の法線を平均したものになるって普通だと思うけど。

17

文の変更

2021/12/17 05:04

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,4 @@
14
14
 
15
15
 
16
16
 
17
- 追記...平均法と正規化は違うものなのでしょうか?教えてください
17
+ 追記...何を聞ききたいか分からくなったので削除
18
-
19
- さすがに平均法と正規化は違うか。

16

文の変更

2021/12/17 04:53

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,5 @@
15
15
 
16
16
 
17
17
  追記...平均法と正規化は違うものなのでしょうか?教えてください。
18
+
19
+ さすがに平均法と正規化は違うか。

15

文の変更

2021/12/17 04:32

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,8 +14,4 @@
14
14
 
15
15
 
16
16
 
17
- 追記...いまさら気づいたのですが、
18
-
19
-
20
-
21
- 平均法と正規化は違うものなのでしょうか?教えてください。
17
+ 追記...平均法と正規化は違うものなのでしょうか?教えてください。

14

文の変更

2021/12/17 03:44

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,10 +14,8 @@
14
14
 
15
15
 
16
16
 
17
- 上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
18
-
19
- グローシェーダーのコードの手がかりでもいいです
17
+ 追記...まさら気づたのですが、
20
18
 
21
19
 
22
20
 
23
- 結局わからかったので、消す
21
+ 平均法と正規化は違うものなのでしょうか?教えてください

13

文の変更

2021/12/17 03:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -21,85 +21,3 @@
21
21
 
22
22
 
23
23
  結局わからなかったので、消す。
24
-
25
-
26
-
27
- 上のリンクから正規化だけやってないですけど、4すべての法線の正規化はどうしたら解けるでしょうか。
28
-
29
- (1から3までやったのですが、同じ画像が出てるので、心配です。)
30
-
31
-
32
-
33
- ```opengl
34
-
35
-
36
-
37
- Normal_F[9*i+0]=0.0; //2 subeteno chouten no housenwo kuria suru
38
-
39
- Normal_F[9*i+1]=0.0;
40
-
41
- Normal_F[9*i+2]=0.0;
42
-
43
-
44
-
45
- Normal_K[9*i+0]=V_X; //1 subetenohousenwo keisansuru
46
-
47
- Normal_K[9*i+1]=V_Y;
48
-
49
- Normal_K[9*i+2]=V_Z;
50
-
51
-
52
-
53
-
54
-
55
- for(int j=0; j<2503;++j){
56
-
57
-
58
-
59
- if( v[j]!=v[i] )//3zahyou ga ixtuti shitara menno housenn wo chouten nikazan suru
60
-
61
- {
62
-
63
- Normal_F[9*i+0]=Normal_K[9*i+0];
64
-
65
- Normal_F[9*i+1]=Normal_K[9*i+1];
66
-
67
- Normal_F[9*i+2]=Normal_K[9*i+2];
68
-
69
- }
70
-
71
- else{
72
-
73
-
74
-
75
- Normal_F[9*i+0]+=Normal_K[9*i+0];
76
-
77
- Normal_F[9*i+1]+=Normal_K[9*i+1];
78
-
79
- Normal_F[9*i+2]+=Normal_K[9*i+2];
80
-
81
-
82
-
83
- }
84
-
85
-
86
-
87
- }//j
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
- // forループで下に。
96
-
97
- printf("Normal_F[9*i+0]=%f,Normal_F[9*i+1]=%f,Normal_F[9*i+2]=%f",
98
-
99
- Normal_F[9*i+0],Normal_F[9*i+1],Normal_F[9*i+2]);
100
-
101
-
102
-
103
-
104
-
105
- ```

12

文の変更

2021/12/02 02:25

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
 
86
86
 
87
- }
87
+ }//j
88
88
 
89
89
 
90
90
 
@@ -92,7 +92,7 @@
92
92
 
93
93
 
94
94
 
95
-
95
+ // forループで下に。
96
96
 
97
97
  printf("Normal_F[9*i+0]=%f,Normal_F[9*i+1]=%f,Normal_F[9*i+2]=%f",
98
98
 

11

文の変更

2021/11/28 15:41

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,85 @@
21
21
 
22
22
 
23
23
  結局わからなかったので、消す。
24
+
25
+
26
+
27
+ 上のリンクから正規化だけやってないですけど、4すべての法線の正規化はどうしたら解けるでしょうか。
28
+
29
+ (1から3までやったのですが、同じ画像が出てるので、心配です。)
30
+
31
+
32
+
33
+ ```opengl
34
+
35
+
36
+
37
+ Normal_F[9*i+0]=0.0; //2 subeteno chouten no housenwo kuria suru
38
+
39
+ Normal_F[9*i+1]=0.0;
40
+
41
+ Normal_F[9*i+2]=0.0;
42
+
43
+
44
+
45
+ Normal_K[9*i+0]=V_X; //1 subetenohousenwo keisansuru
46
+
47
+ Normal_K[9*i+1]=V_Y;
48
+
49
+ Normal_K[9*i+2]=V_Z;
50
+
51
+
52
+
53
+
54
+
55
+ for(int j=0; j<2503;++j){
56
+
57
+
58
+
59
+ if( v[j]!=v[i] )//3zahyou ga ixtuti shitara menno housenn wo chouten nikazan suru
60
+
61
+ {
62
+
63
+ Normal_F[9*i+0]=Normal_K[9*i+0];
64
+
65
+ Normal_F[9*i+1]=Normal_K[9*i+1];
66
+
67
+ Normal_F[9*i+2]=Normal_K[9*i+2];
68
+
69
+ }
70
+
71
+ else{
72
+
73
+
74
+
75
+ Normal_F[9*i+0]+=Normal_K[9*i+0];
76
+
77
+ Normal_F[9*i+1]+=Normal_K[9*i+1];
78
+
79
+ Normal_F[9*i+2]+=Normal_K[9*i+2];
80
+
81
+
82
+
83
+ }
84
+
85
+
86
+
87
+ }
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ printf("Normal_F[9*i+0]=%f,Normal_F[9*i+1]=%f,Normal_F[9*i+2]=%f",
98
+
99
+ Normal_F[9*i+0],Normal_F[9*i+1],Normal_F[9*i+2]);
100
+
101
+
102
+
103
+
104
+
105
+ ```

10

文の変更

2021/11/28 13:38

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -20,4 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- 結局わからなかったので、編集ということで消す。
23
+ 結局わからなかったので、消す。

9

文の変更

2021/11/28 05:05

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -20,14 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- //その頂点で初めての登録の場合は法線ベクトルただ登録する
24
-
25
- else //すでに登録してあった頂点に追加する場合は、
26
-
27
- ベクトルの足し算をする と書けばよかったのかもしれません。
28
-
29
- あまりにも自分のソースコードとかけ離れていたので、追記しました。
30
-
31
- あまり読んでいし、難しそうなので解けないと思いま~~
23
+ 結局わからかったので、編集とうこで消す。
32
-
33
- if(!normalAtVertex[index]) {が実現できなかったので、間違えたかもしれません。

8

文の変更

2021/11/28 05:03

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -20,10 +20,6 @@
20
20
 
21
21
 
22
22
 
23
- ~~[リンク](http://nmi.jp/archives/642)のページの
24
-
25
- 最後のリンクにあるように、
26
-
27
23
  //その頂点で初めての登録の場合は法線ベクトルただ登録する
28
24
 
29
25
  else //すでに登録してあった頂点に追加する場合は、

7

文の変更

2021/11/27 10:47

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- [リンク](http://nmi.jp/archives/642)のページの
23
+ ~~[リンク](http://nmi.jp/archives/642)のページの
24
24
 
25
25
  最後のリンクにあるように、
26
26
 
@@ -32,4 +32,6 @@
32
32
 
33
33
  あまりにも自分のソースコードとかけ離れていたので、追記しました。
34
34
 
35
- あまり読んでないし、難しそうなので解けないと思いますが。
35
+ あまり読んでないし、難しそうなので解けないと思いますが。~~
36
+
37
+ if(!normalAtVertex[index]) {が実現できなかったので、間違えたかもしれません。

6

文の変更

2021/11/27 10:32

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  [リンク先を参考に、実装したいのですが]
2
2
 
3
- (http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
3
+ [リンク](http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
4
4
 
5
5
  グーローシェーダーらしいので、このコードを試してみたかったです。
6
6
 
@@ -17,3 +17,19 @@
17
17
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
18
18
 
19
19
  グローシェーダーのコードの手がかりでもいいです。
20
+
21
+
22
+
23
+ [リンク](http://nmi.jp/archives/642)のページの
24
+
25
+ 最後のリンクにあるように、
26
+
27
+ //その頂点で初めての登録の場合は法線ベクトルただ登録する
28
+
29
+ else //すでに登録してあった頂点に追加する場合は、
30
+
31
+ ベクトルの足し算をする と書けばよかったのかもしれません。
32
+
33
+ あまりにも自分のソースコードとかけ離れていたので、追記しました。
34
+
35
+ あまり読んでないし、難しそうなので解けないと思いますが。

5

文の変更

2021/11/22 16:49

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -2,96 +2,18 @@
2
2
 
3
3
  (http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
4
4
 
5
- グーローシェーダーらしいので、
5
+ グーローシェーダーらしいので、このコードを試してみたかったです。
6
-
7
- 上のリンクのように組みたいのですが、手順4の正規化がわからなかったのと
8
6
 
9
7
 
10
8
 
11
- ➀と➁が合ってるか知りたいです。手順通りに書いたつもりなで、何をてるかわからないです。
9
+ 追記:一定時間たって、質問コードが正くなのと進展がないという理由
10
+
11
+ から、ソースコードは、削除します。
12
+
13
+ 追記: }は忘れてました。
12
14
 
13
15
 
14
16
 
17
+ 上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
15
18
 
16
-
17
- ```opengl
18
-
19
- for (int i=0;i<(12439-7472)/3)+1;++i){
20
-
21
- -----------省略--------------------
22
-
23
-
24
-
25
- Normal_F[9*i+0]=V_X/la; //➀V_Xが流れてくる。面の法線を計算したものを用意。
26
-
27
- Normal_F[9*i+1]=V_Y/la;  //➀V_Yが流れてくる。面の法線を計算したものを用意。
28
-
29
- Normal_F[9*i+2]=V_Z/la;  //➀V_Zが流れてくる。面の法線を計算したものを用意。
30
-
31
-
32
-
33
- Normal_K[9*i+0]=0.0;   //➁すべての頂点の法線を一旦クリアする。
34
-
35
- Normal_K[9*i+1]=0.0;
36
-
37
- Normal_K[9*i+2]=0.0;
38
-
39
-
40
-
41
- for(int j=0;j<2503;++j){//v no kosuu
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
- if(v[j] == v[3*a[0]-3]){ //流れるv座標と、faceのxを比較。
50
-
51
- Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l //頂点の法線に面の法線を加算する。
52
-
53
- }
54
-
55
-
56
-
57
-
58
-
59
- if(v[j] == v[3*a[0]-2]){//流れるv座標と、faceのyを比較。
60
-
61
-
62
-
63
- Normal_K[9*i+1]+=Normal_F[9*i+1];
64
-
65
- }
66
-
67
-
68
-
69
- if(v[j] == v[3*a[0]-1]){//流れるv座標と、faceのzを比較。
70
-
71
-
72
-
73
- Normal_K[9*i+2]+=Normal_F[9*i+2];
74
-
75
- }
76
-
77
-
78
-
79
- }
80
-
81
-
82
-
83
- //glNormal3f(V_X/la,V_Y/la,V_Z/la);
84
-
85
-
86
-
87
- glNormal3f(Normal_K[9*i+0],Normal_K[9*i+1],Normal_K[9*i+2]);
88
-
89
-
90
-
91
-
92
-
93
- 追記 }
94
-
95
- ```
96
-
97
- としてみたですオブジェクトが黒くなうまくきませんした
19
+ グローシェーダーコードの手でも

4

文の変更

2021/11/21 05:25

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,16 @@
1
- [リンク先を参考に、実装したいですが]
1
+ [リンク先を参考に、実装したいですが]
2
2
 
3
3
  (http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
4
4
 
5
- 上のリンクのように組みたいのですが手順4がわからなかったのと
5
+ グーローシェーダーらしいので、
6
6
 
7
- の手順もうまくいってもしれないで見てください。お願いします。
7
+ リンクのように組みたいのですが、手順4の正規化がわからなかった
8
+
9
+
10
+
11
+ ➀と➁が合ってるか知りたいです。手順通りに書いたつもりなので、何をしていてるかわからないです。
12
+
13
+
8
14
 
9
15
 
10
16
 
@@ -16,15 +22,15 @@
16
22
 
17
23
 
18
24
 
19
- Normal_F[9*i+0]=V_X/la;
25
+ Normal_F[9*i+0]=V_X/la; //➀V_Xが流れてくる。面の法線を計算したものを用意。
20
26
 
21
- Normal_F[9*i+1]=V_Y/la;
27
+ Normal_F[9*i+1]=V_Y/la;  //➀V_Yが流れてくる。面の法線を計算したものを用意。
22
28
 
23
- Normal_F[9*i+2]=V_Z/la;
29
+ Normal_F[9*i+2]=V_Z/la;  //➀V_Zが流れてくる。面の法線を計算したものを用意。
24
30
 
25
31
 
26
32
 
27
- Normal_K[9*i+0]=0.0;
33
+ Normal_K[9*i+0]=0.0;   //➁すべての頂点の法線を一旦クリアする。
28
34
 
29
35
  Normal_K[9*i+1]=0.0;
30
36
 
@@ -40,9 +46,9 @@
40
46
 
41
47
 
42
48
 
43
- if(v[j] == v[3*a[0]-3]){
49
+ if(v[j] == v[3*a[0]-3]){ //流れるv座標と、faceのxを比較。
44
50
 
45
- Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l seikikasareta housen wo tasu
51
+ Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l //頂点の法線に面の法線を加算する。
46
52
 
47
53
  }
48
54
 
@@ -50,7 +56,7 @@
50
56
 
51
57
 
52
58
 
53
- if(v[j] == v[3*a[0]-2]){//y座標
59
+ if(v[j] == v[3*a[0]-2]){//流れるv座標と、faceのyを比較。
54
60
 
55
61
 
56
62
 
@@ -60,7 +66,7 @@
60
66
 
61
67
 
62
68
 
63
- if(v[j] == v[3*a[0]-1]){//z座標
69
+ if(v[j] == v[3*a[0]-1]){//流れるv座標と、faceのzを比較。
64
70
 
65
71
 
66
72
 
@@ -88,4 +94,4 @@
88
94
 
89
95
  ```
90
96
 
91
- としてみたのですがオブジェクトが黒くなりました。
97
+ としてみたのですがオブジェクトが黒くなりくいきませんでした。

3

文の変更

2021/11/19 06:04

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- if(v[j] == v[3*a[0]-2]){//yjiku
53
+ if(v[j] == v[3*a[0]-2]){//y座標
54
54
 
55
55
 
56
56
 
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- if(v[j] == v[3*a[0]-1]){//zjiku
63
+ if(v[j] == v[3*a[0]-1]){//z座標
64
64
 
65
65
 
66
66
 
@@ -88,4 +88,4 @@
88
88
 
89
89
  ```
90
90
 
91
- としてみたところオブジェクトが黒くなりました。
91
+ としてみたのですがオブジェクトが黒くなりました。

2

文の変更

2021/11/18 11:09

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,6 +82,10 @@
82
82
 
83
83
 
84
84
 
85
+
86
+
87
+ 追記 }
88
+
85
89
  ```
86
90
 
87
91
  としてみたところオブジェクトが黒くなりました。

1

文の変更

2021/11/18 06:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  if(v[j] == v[3*a[0]-3]){
44
44
 
45
- Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l housen wo tasu
45
+ Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l seikikasareta housen wo tasu
46
46
 
47
47
  }
48
48