質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

Q&A

解決済

1回答

719閲覧

共有頂点を求めることができない

txty

総合スコア298

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

0グッド

0クリップ

投稿2021/11/02 15:27

編集2021/11/03 11:40

タイトルの通り、共有頂点を求めることができませんでした。共有頂点の法線を足し合わせることができません。

また、glShadeModel(GL_SMOOTH);とは別なのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

glShadeModelのリファレンスっぽいページによれば,

Specifies a symbolic value representing a shading technique. Accepted values are GL_FLAT and GL_SMOOTH. The initial value is GL_SMOOTH.

とのこと.
デフォルトは GL_SMOOTH となっているという話なので,

glShadeModel(GL_SMOOTH);

を明示的に書いても何かが変わるわけではないでしょう.

投稿2021/11/03 01:03

fana

総合スコア11708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2021/11/03 02:40

回答に示したリンク先を全て読めば,GL_SMOOTH の効果とは何か? が分かるはずです. 「ポリゴン上の各位置の色を決める方法として,そのポリゴンの頂点群の色から補間して決める」というだけです. で,この機能を利用して,ライティング計算結果として決まる各頂点の色をポリゴン内で補間させることで,見た目に滑らかに見せようっていうのがグーローシェーディング.
fana

2021/11/03 02:59 編集

ライティング計算結果がどんな色になるのかを決める支配的な要素の1つが法線なので, 頂点毎に異なる法線を与えると,結果として,まるでポリゴン内で法線の向きが変化しているように見せかけることができる(かもね),という話.
fana

2021/11/03 02:57 編集

あなたの示したリンク先の「手順」という箇所に 法線を単に平均値として決める話が書いてあるけど,それをやってみたらよいのでは? ただ,この「手順」みたいなのを実装するのは相応に面倒な話だとは思う. (最初からそういう法線の値でモデルデータを出力してくれるソフトとかがあるなら自分で実装する必要はないだろうが)
txty

2021/11/03 07:47 編集

うーん、共有頂点の求め方がよくわからなくて、f4 / /2 5/ /2 6/ /2って書いてあったら、共有頂 点をもつ f  ってどういうふうになりますか。
fana

2021/11/04 01:11 編集

それは OBJ ファイル内の記述ですか? そうであれば,そこは 【ある三角形の3つの頂点群の座標は,別のとこに書かれている v から始まる記述群の 4番目,5番目,6番目 である】 という記述になります. なので,例えば,別の三角形(別の f から始まる行)でも頂点座標の 4番目 を参照しているなら, 2つの三角形は同一の頂点を有していると言えます. ただし, 座標が同じでも異なる記述になっている可能性もあるんじゃないかな?という懸念点があります. (すなわち, 複数個の v から始まる行が同一の値を持つ状態 というのもファイルフォーマット上はあり得るのではないか,と) 故に,ファイルに書かれている「何番目」という値だけで判断するのではなくて,「座標値」そのものを比較する必要があるように思えます. #記述の意味に関しては「OBJファイル フォーマット」でググった
txty

2021/11/04 04:43 編集

ありがとうございます。理解できました。試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問