teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

40

修正

2023/12/02 10:00

投稿

txty
txty

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body CHANGED
@@ -46,6 +46,23 @@
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
-

38

修正

2023/12/02 09:40

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -44,9 +44,8 @@
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
48
 
49
- 4.(間違えてたら嫌なので、修正)
50
- 間違えてても責任とれません.間違えていましたら教えてください。
51
49
 
52
50
 
51
+

37

修正

2023/12/02 09:39

投稿

txty
txty

スコア304

title CHANGED
File without changes
body 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

スコア304

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

35

書式の改善

2023/11/22 05:52

投稿

txty
txty

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

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

32

書式の変更

2023/11/22 04:26

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -47,9 +47,21 @@
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
- まだ、間違いがありましたら、回答欄に回答をお願いします。
66
+
55
- それを踏まえて、グローシェーダを順を追うとどうなるのかという質問でした。
67
+

31

追記

2023/10/31 16:07

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -34,10 +34,22 @@
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のスペースは考慮してない。
40
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
+ たぶんこう
52
+
41
53
  (9*は、3*にしました。)
42
54
  まだ、間違いがありましたら、回答欄に回答をお願いします。
43
55
  それを踏まえて、グローシェーダを順を追うとどうなるのかという質問でした。

30

追記

2023/10/30 08:01

投稿

txty
txty

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body CHANGED
@@ -16,10 +16,12 @@
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
- 例 (fscanf_s(fp, "%d", &num) == 1) { // ファイルから整数を読み込む
20
- printf("%d\n", num); // 読み込んだ整数を表示する
21
- でした。
22
19
 
20
+ //使い方 fscanf_s(fp, "%d", &num) // ファイルから整数
21
+ //を読み込む
22
+ // printf("%d\n", num); // 読み込んだ整数を表示する
23
+ //でした。
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]は、頂点から、法線を出したと思うのでわかりません。
25
27
  頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。

23

追記

2023/10/25 05:11

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -16,8 +16,10 @@
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
+ 例 (fscanf_s(fp, "%d", &num) == 1) { // ファイルから整数を読み込む
20
+ printf("%d\n", num); // 読み込んだ整数を表示する
21
+ でした。
19
22
 
20
-
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]は、頂点から、法線を出したと思うのでわかりません。
23
25
  頂点から法線をだした場合、わずかな誤差が発生しますが、気になる人は、objファイルなら法線をglNormal関数に直接値をいれても大丈夫です。objファイル以外は知らないです。

22

追記

2023/10/25 04:09

投稿

txty
txty

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

title CHANGED
File without changes
body 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

スコア304

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

18

文の変更

2021/12/17 05:04

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,5 @@
6
6
  から、ソースコードは、削除します。
7
7
  追記: }は忘れてました。
8
8
 
9
- 追記...何を聞ききたいか分からなくなったので削除。
9
+ 追記...何を聞ききたいか分からなくなったので削除。
10
+ 隣接する面の法線を平均したものになるって普通だと思うけど。

17

文の変更

2021/12/17 05:04

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -6,5 +6,4 @@
6
6
  から、ソースコードは、削除します。
7
7
  追記: }は忘れてました。
8
8
 
9
- 追記...平均法と正規化は違うものなのでしょうか?教えてください
9
+ 追記...何を聞ききたいか分からくなったので削除
10
- さすがに平均法と正規化は違うか。

16

文の変更

2021/12/17 04:53

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,5 @@
6
6
  から、ソースコードは、削除します。
7
7
  追記: }は忘れてました。
8
8
 
9
- 追記...平均法と正規化は違うものなのでしょうか?教えてください。
9
+ 追記...平均法と正規化は違うものなのでしょうか?教えてください。
10
+ さすがに平均法と正規化は違うか。

15

文の変更

2021/12/17 04:32

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -6,6 +6,4 @@
6
6
  から、ソースコードは、削除します。
7
7
  追記: }は忘れてました。
8
8
 
9
- 追記...いまさら気づいたのですが、
10
-
11
- 平均法と正規化は違うものなのでしょうか?教えてください。
9
+ 追記...平均法と正規化は違うものなのでしょうか?教えてください。

14

文の変更

2021/12/17 03:44

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,6 @@
6
6
  から、ソースコードは、削除します。
7
7
  追記: }は忘れてました。
8
8
 
9
- 上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
- グローシェーダーのコードの手がかりでもいいです
9
+ 追記...まさら気づたのですが、
11
10
 
12
- 結局わからかったので、消す
11
+ 平均法と正規化は違うものなのでしょうか?教えてください

13

文の変更

2021/12/17 03:40

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -9,45 +9,4 @@
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
10
  グローシェーダーのコードの手がかりでもいいです。
11
11
 
12
- 結局わからなかったので、消す。
12
+ 結局わからなかったので、消す。
13
-
14
- 上のリンクから正規化だけやってないですけど、4すべての法線の正規化はどうしたら解けるでしょうか。
15
- (1から3までやったのですが、同じ画像が出てるので、心配です。)
16
-
17
- ```opengl
18
-
19
- Normal_F[9*i+0]=0.0; //2 subeteno chouten no housenwo kuria suru
20
- Normal_F[9*i+1]=0.0;
21
- Normal_F[9*i+2]=0.0;
22
-
23
- Normal_K[9*i+0]=V_X; //1 subetenohousenwo keisansuru
24
- Normal_K[9*i+1]=V_Y;
25
- Normal_K[9*i+2]=V_Z;
26
-
27
-
28
- for(int j=0; j<2503;++j){
29
-
30
- if( v[j]!=v[i] )//3zahyou ga ixtuti shitara menno housenn wo chouten nikazan suru
31
- {
32
- Normal_F[9*i+0]=Normal_K[9*i+0];
33
- Normal_F[9*i+1]=Normal_K[9*i+1];
34
- Normal_F[9*i+2]=Normal_K[9*i+2];
35
- }
36
- else{
37
-
38
- Normal_F[9*i+0]+=Normal_K[9*i+0];
39
- Normal_F[9*i+1]+=Normal_K[9*i+1];
40
- Normal_F[9*i+2]+=Normal_K[9*i+2];
41
-
42
- }
43
-
44
- }//j
45
-
46
-
47
-
48
- // forループで下に。
49
- printf("Normal_F[9*i+0]=%f,Normal_F[9*i+1]=%f,Normal_F[9*i+2]=%f",
50
- Normal_F[9*i+0],Normal_F[9*i+1],Normal_F[9*i+2]);
51
-
52
-
53
- ```

12

文の変更

2021/12/02 02:25

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -41,11 +41,11 @@
41
41
 
42
42
  }
43
43
 
44
- }
44
+ }//j
45
45
 
46
46
 
47
47
 
48
-
48
+ // forループで下に。
49
49
  printf("Normal_F[9*i+0]=%f,Normal_F[9*i+1]=%f,Normal_F[9*i+2]=%f",
50
50
  Normal_F[9*i+0],Normal_F[9*i+1],Normal_F[9*i+2]);
51
51
 

11

文の変更

2021/11/28 15:41

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,45 @@
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
10
  グローシェーダーのコードの手がかりでもいいです。
11
11
 
12
- 結局わからなかったので、消す。
12
+ 結局わからなかったので、消す。
13
+
14
+ 上のリンクから正規化だけやってないですけど、4すべての法線の正規化はどうしたら解けるでしょうか。
15
+ (1から3までやったのですが、同じ画像が出てるので、心配です。)
16
+
17
+ ```opengl
18
+
19
+ Normal_F[9*i+0]=0.0; //2 subeteno chouten no housenwo kuria suru
20
+ Normal_F[9*i+1]=0.0;
21
+ Normal_F[9*i+2]=0.0;
22
+
23
+ Normal_K[9*i+0]=V_X; //1 subetenohousenwo keisansuru
24
+ Normal_K[9*i+1]=V_Y;
25
+ Normal_K[9*i+2]=V_Z;
26
+
27
+
28
+ for(int j=0; j<2503;++j){
29
+
30
+ if( v[j]!=v[i] )//3zahyou ga ixtuti shitara menno housenn wo chouten nikazan suru
31
+ {
32
+ Normal_F[9*i+0]=Normal_K[9*i+0];
33
+ Normal_F[9*i+1]=Normal_K[9*i+1];
34
+ Normal_F[9*i+2]=Normal_K[9*i+2];
35
+ }
36
+ else{
37
+
38
+ Normal_F[9*i+0]+=Normal_K[9*i+0];
39
+ Normal_F[9*i+1]+=Normal_K[9*i+1];
40
+ Normal_F[9*i+2]+=Normal_K[9*i+2];
41
+
42
+ }
43
+
44
+ }
45
+
46
+
47
+
48
+
49
+ printf("Normal_F[9*i+0]=%f,Normal_F[9*i+1]=%f,Normal_F[9*i+2]=%f",
50
+ Normal_F[9*i+0],Normal_F[9*i+1],Normal_F[9*i+2]);
51
+
52
+
53
+ ```

10

文の変更

2021/11/28 13:38

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,4 @@
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
10
  グローシェーダーのコードの手がかりでもいいです。
11
11
 
12
- 結局わからなかったので、編集ということで消す。
12
+ 結局わからなかったので、消す。

9

文の変更

2021/11/28 05:05

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -9,9 +9,4 @@
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
10
  グローシェーダーのコードの手がかりでもいいです。
11
11
 
12
- //その頂点で初めての登録の場合は法線ベクトルただ登録する
13
- else //すでに登録してあった頂点に追加する場合は、
14
- ベクトルの足し算をする と書けばよかったのかもしれません。
15
- あまりにも自分のソースコードとかけ離れていたので、追記しました。
16
- あまり読んでいし、難しそうなので解けない~~
12
+ 結局わからかったので、編集ということで消す。
17
- if(!normalAtVertex[index]) {が実現できなかったので、間違えたかもしれません。

8

文の変更

2021/11/28 05:03

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -9,8 +9,6 @@
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
10
  グローシェーダーのコードの手がかりでもいいです。
11
11
 
12
- ~~[リンク](http://nmi.jp/archives/642)のページの
13
- 最後のリンクにあるように、
14
12
  //その頂点で初めての登録の場合は法線ベクトルただ登録する
15
13
  else //すでに登録してあった頂点に追加する場合は、
16
14
  ベクトルの足し算をする と書けばよかったのかもしれません。

7

文の変更

2021/11/27 10:47

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -9,10 +9,11 @@
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
10
  グローシェーダーのコードの手がかりでもいいです。
11
11
 
12
- [リンク](http://nmi.jp/archives/642)のページの
12
+ ~~[リンク](http://nmi.jp/archives/642)のページの
13
13
  最後のリンクにあるように、
14
14
  //その頂点で初めての登録の場合は法線ベクトルただ登録する
15
15
  else //すでに登録してあった頂点に追加する場合は、
16
16
  ベクトルの足し算をする と書けばよかったのかもしれません。
17
17
  あまりにも自分のソースコードとかけ離れていたので、追記しました。
18
- あまり読んでないし、難しそうなので解けないと思いますが。
18
+ あまり読んでないし、難しそうなので解けないと思いますが。~~
19
+ if(!normalAtVertex[index]) {が実現できなかったので、間違えたかもしれません。

6

文の変更

2021/11/27 10:32

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  [リンク先を参考に、実装したいのですが]
2
- (http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
2
+ [リンク](http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
3
3
  グーローシェーダーらしいので、このコードを試してみたかったです。
4
4
 
5
5
  追記:一定時間たって、質問のコードが正しくないのと進展がないという理由
@@ -7,4 +7,12 @@
7
7
  追記: }は忘れてました。
8
8
 
9
9
  上のリンクのグーローシェーダーの説明でもいいのでわかる方お願いします。
10
- グローシェーダーのコードの手がかりでもいいです。
10
+ グローシェーダーのコードの手がかりでもいいです。
11
+
12
+ [リンク](http://nmi.jp/archives/642)のページの
13
+ 最後のリンクにあるように、
14
+ //その頂点で初めての登録の場合は法線ベクトルただ登録する
15
+ else //すでに登録してあった頂点に追加する場合は、
16
+ ベクトルの足し算をする と書けばよかったのかもしれません。
17
+ あまりにも自分のソースコードとかけ離れていたので、追記しました。
18
+ あまり読んでないし、難しそうなので解けないと思いますが。

5

文の変更

2021/11/22 16:49

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -1,49 +1,10 @@
1
1
  [リンク先を参考に、実装したいのですが]
2
2
  (http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
3
- グーローシェーダーらしいので、
3
+ グーローシェーダーらしいので、このコードを試してみたかったです。
4
- 上のリンクのように組みたいのですが、手順4の正規化がわからなかったのと
5
4
 
6
- ➀と➁が合ってるか知りたいです。手順通りに書いたつもりなので何をてるかわからないです。
5
+ 追記:一定時間たって、質問のコードが正くなのと進展がないという理由
6
+ から、ソースコードは、削除します。
7
+ 追記: }は忘れてました。
7
8
 
8
-
9
- ```opengl
10
- for (int i=0;i<(12439-7472)/3)+1;++i){
11
- -----------省略--------------------
12
-
13
- Normal_F[9*i+0]=V_X/la; //➀V_Xが流れてくる。面の法線を計算したものを用意。
14
- Normal_F[9*i+1]=V_Y/la;  //➀V_Yが流れてくる。面の法線を計算したものを用意。
15
- Normal_F[9*i+2]=V_Z/la;  //➀V_Zが流れてくる。面の法線を計算したものを用意。
16
-
17
- Normal_K[9*i+0]=0.0;   //➁すべての頂点の法線を一旦クリアする。
18
- Normal_K[9*i+1]=0.0;
19
- Normal_K[9*i+2]=0.0;
20
-
21
- for(int j=0;j<2503;++j){//v no kosuu
22
-
23
-
24
-
25
- if(v[j] == v[3*a[0]-3]){ //流れるv座標と、faceのxを比較。
26
- Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l //頂点の法線に面の法線を加算する。
27
- }
28
-
29
-
30
- if(v[j] == v[3*a[0]-2]){//流れるv座標と、faceのyを比較。
31
-
32
- Normal_K[9*i+1]+=Normal_F[9*i+1];
33
- }
34
-
35
- if(v[j] == v[3*a[0]-1]){//流れるv座標と、faceのzを比較。
36
-
37
- Normal_K[9*i+2]+=Normal_F[9*i+2];
38
- }
39
-
40
- }
41
-
42
- //glNormal3f(V_X/la,V_Y/la,V_Z/la);
43
-
44
- glNormal3f(Normal_K[9*i+0],Normal_K[9*i+1],Normal_K[9*i+2]);
45
-
46
-
47
- 追記 }
48
- ```
49
- としてみたですがオブジェトが黒くなりうまくきませんでし
9
+ リンのグーローシェーダーの説明でもいのわかる方お願います
10
+ グローシェーダーのコードの手がかりでもいいです。

4

文の変更

2021/11/21 05:25

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -1,17 +1,20 @@
1
- [リンク先を参考に、実装したいですが]
1
+ [リンク先を参考に、実装したいですが]
2
2
  (http://gameprogrammingunit.web.fc2.com/math/gouraud.htm)
3
+ グーローシェーダーらしいので、
3
- 上のリンクのように組みたいのですが、手順4がわからなかったのと
4
+ 上のリンクのように組みたいのですが、手順4の正規化がわからなかったのと
4
- 他の手順もうまくいってないかもしれないので見てください。お願いします。
5
5
 
6
+ ➀と➁が合ってるか知りたいです。手順通りに書いたつもりなので、何をしていてるかわからないです。
7
+
8
+
6
9
  ```opengl
7
10
  for (int i=0;i<(12439-7472)/3)+1;++i){
8
11
  -----------省略--------------------
9
12
 
10
- Normal_F[9*i+0]=V_X/la;
13
+ Normal_F[9*i+0]=V_X/la; //➀V_Xが流れてくる。面の法線を計算したものを用意。
11
- Normal_F[9*i+1]=V_Y/la;
14
+ Normal_F[9*i+1]=V_Y/la;  //➀V_Yが流れてくる。面の法線を計算したものを用意。
12
- Normal_F[9*i+2]=V_Z/la;
15
+ Normal_F[9*i+2]=V_Z/la;  //➀V_Zが流れてくる。面の法線を計算したものを用意。
13
16
 
14
- Normal_K[9*i+0]=0.0;
17
+ Normal_K[9*i+0]=0.0;   //➁すべての頂点の法線を一旦クリアする。
15
18
  Normal_K[9*i+1]=0.0;
16
19
  Normal_K[9*i+2]=0.0;
17
20
 
@@ -19,17 +22,17 @@
19
22
 
20
23
 
21
24
 
22
- if(v[j] == v[3*a[0]-3]){
25
+ if(v[j] == v[3*a[0]-3]){ //流れるv座標と、faceのxを比較。
23
- Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l seikikasareta housen wo tasu
26
+ Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l //頂点の法線に面の法線を加算する。
24
27
  }
25
28
 
26
29
 
27
- if(v[j] == v[3*a[0]-2]){//y座標
30
+ if(v[j] == v[3*a[0]-2]){//流れるv座標と、faceのyを比較。
28
31
 
29
32
  Normal_K[9*i+1]+=Normal_F[9*i+1];
30
33
  }
31
34
 
32
- if(v[j] == v[3*a[0]-1]){//z座標
35
+ if(v[j] == v[3*a[0]-1]){//流れるv座標と、faceのzを比較。
33
36
 
34
37
  Normal_K[9*i+2]+=Normal_F[9*i+2];
35
38
  }
@@ -43,4 +46,4 @@
43
46
 
44
47
  追記 }
45
48
  ```
46
- としてみたのですがオブジェクトが黒くなりました。
49
+ としてみたのですがオブジェクトが黒くなりくいきませんでした。

3

文の変更

2021/11/19 06:04

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -24,12 +24,12 @@
24
24
  }
25
25
 
26
26
 
27
- if(v[j] == v[3*a[0]-2]){//yjiku
27
+ if(v[j] == v[3*a[0]-2]){//y座標
28
28
 
29
29
  Normal_K[9*i+1]+=Normal_F[9*i+1];
30
30
  }
31
31
 
32
- if(v[j] == v[3*a[0]-1]){//zjiku
32
+ if(v[j] == v[3*a[0]-1]){//z座標
33
33
 
34
34
  Normal_K[9*i+2]+=Normal_F[9*i+2];
35
35
  }
@@ -43,4 +43,4 @@
43
43
 
44
44
  追記 }
45
45
  ```
46
- としてみたところオブジェクトが黒くなりました。
46
+ としてみたのですがオブジェクトが黒くなりました。

2

文の変更

2021/11/18 11:09

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -40,5 +40,7 @@
40
40
 
41
41
  glNormal3f(Normal_K[9*i+0],Normal_K[9*i+1],Normal_K[9*i+2]);
42
42
 
43
+
44
+ 追記 }
43
45
  ```
44
46
  としてみたところオブジェクトが黒くなりました。

1

文の変更

2021/11/18 06:52

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
  if(v[j] == v[3*a[0]-3]){
23
- Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l housen wo tasu
23
+ Normal_K[9*i+0]+=Normal_F[9*i+0]; //+V_X/l seikikasareta housen wo tasu
24
24
  }
25
25
 
26
26