• 締切済み

OpenGLでのコンター表示

OpenGLにて、物体表面(ポリゴン表面)上に、温度などの観測値の分布図をコンター表示するプログラムを組んでいます。 現在考えているのは、事前処理にて観測値に基づく色分布を求めこれを基にテクスチャの画像を自作し、後は、OpenGLの通常の処理でポリゴンに貼り付けることを考えていますが、もっと簡単な方法がないかと探しているところです。 当方、OpenGLについて初歩レベルであり、これについてどのようなアプローチがあるか、まったく別の方法も含めて、いろいろと模索しておりますので、ご助言いただければ幸いです。 よろしくお願いします。

みんなの回答

  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.1

glColor3d等で頂点色を使って表示するのでは駄目でしょうか。

catamaran
質問者

補足

回答いただき、ありがとうございます。 質問後、ご指摘の方法に気付き、今、その方法でやってみようかと思っているところです。 ところで、連続する物理量→色傾斜の対応付けについて調べているのですが、これに関して常套手段のようなものはあるのでしょうか?

関連するQ&A

  • カメラで撮影した画像をOpenGLで表示する方法

    webカメラで撮影した映像を,OpenGLを用いて表示することを考えております. 撮影した映像を,できる限り高速に表示する方法を教えていただけないでしょうか? 用途としては,仮想世界の視点移動に合わせて,カメラで撮影した画像を張り付けたポリゴンを 自由な視点から観察することを考えています. 私の考えつく解決策は,以下の通りです. 1.OpenGLの背景(バックバッファ)の領域を指定し,書き込む 2.ポリゴンにテクスチャマッピング 2.について実装してみたのですが,表示速度がいまひとつでした. 実装としては,テクスチャ用画像を,毎フレーム更新して, テクスチャマッピングする方法をとっています. コードを抜粋したものは,以下の通りです. ------------------------------------ glBindTexture(GL_TEXTURE_2D, g_texture[0]);//テクスチャの指定 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, texture_img[0]->width,texture_img[0]->height, GL_RGB,GL_UNSIGNED_BYTE,texture_img[0]->imageData); ---------------------------------- ※texture_img[0]を毎フレーム更新して,テクスチャマッピング お忙しいと思いますが, アドバイスをいただけますと幸いです. よろしくお願いいたします.

  • 法線について。

    どのカテゴリで質問しようか迷ったのですが、ここで質問することにしました。 現在OpenGLを使用して物体の描画を行うプログラムをC++6.0で作成しています。 特別な処理を行うため、結果としてポリゴン数が100万ポリゴンを超える場合もあります。 ポリゴンの描画としては単にそのポリゴンから求めた法線を割り当てているだけなので、フラットシェーディングとして描画しています。 しかしそれを改良して法線を計算しなおし、スムーズシェーディングでの描画を行えるようにしたいと考えています。 そこでスムーズシェーディングの描画にするためには、法線をどのように計算しなおせばよいでしょうか?先ほど述べたように100万ポリゴンを超えることもあるので、できたら多少高速なアルゴリズムがあればと思います。 ご存知の方がいたらご教授よろしくお願いします。

  • 対苛性ソーダ表面処理(防錆目的)

    下記条件に犯されない表面処理方法を模索中です。何かいい方法ないでしょうか?。 被表面処理材料:SS 表面処理目的:防錆(溶剤雰囲気中) 対薬品条件:苛性ソーダ/濃度5%:温度50℃:浸せき時間5H       

  • 加熱した物体を冷却時の温度分布の時間変化

    板状の物体を炉から出し、室温で冷却していったときの物体の(中央の)厚さ方向の温度分布の時間変化を計算したいと考えています。 表面と内部の温度差の変化を計算し、温度差が最大となるところをだしたいためです。 熱伝導方程式をもちいた、初期値問題などが近いと思ったのですが、たいてい境界条件として境界は一瞬で冷却されるという仮定がされていました。 はじめは炉内で十分加熱されて温度差は0、十分時間がたてば物体は一様に室温となり温度差は0ですが、その間は表面と内部で温度差があるはずで、その温度差の時間変化を計算したいのですが、どのような内容について調べればよいでしょうか。 よろしくお願いします。

  • テクスチャーの歪み

    開発環境 Visual Studio 2005, OS Windows XP , SDK 現在、画像処理ソフトの開発をしています。 画像をテクスチャに読み込んで四角ポリゴンに貼り付けて4隅を動かすことでhotoShopのような自由変形をさせようとしていますが三角ポリゴンの歪みが出てしまいます。 何か歪みが出ない方法がありましたら教えて頂けると助かります。 宜しくお願いします。

  • 高温雰囲気下での物体温度上昇時間について

    熱の専門家ではないため、 検討違いの質問でしたら申し訳ありません。 十分に熱量を持った高温状態にある雰囲気下に、ある物体を入れた時に、その物体が所定温度まで昇温するのにかかる時間を知りたく思います。 ※始めの物体温度<物体の所定温度<雰囲気温度 例えば、100℃に熱せられたオーブン(体積容量が大きく十分な熱量をもっている)に、10cm3の体積、20℃の鋼を入れた時に、鋼が60℃まで昇温するのにはどのくらいの時間がかかるのか? 熱量の授受は熱伝導が主になると思っており、時間と共に物体温度が上昇するため、物体と雰囲気温度の温度差が少なくなります。 色々調べている中で、参考URLの例題4-3の下の【熱伝導による温度変化】の「計算によって正確に求める方法」リンク先にあるやり方で算出できそうな感じがします。 この式でLを物体表面から特定の物体内部までの距離(※物体の中心部で考えるとL=5cm)と考えてtを計算すればいいのでしょうか? (この考えでは物体の表面から中心部にかけて下がる方向に温度勾配があることになる。) はたして雰囲気化に物体を入れたとき、特定温度までの昇温時間の計算方法はこのような考えでいいのでしょうか? 計算方法や考え方について、ご存知の方おりましたらご教示ください。 http://www.kdcnet.ac.jp/college/buturi/kougi/buturiko/heat/heat4/heat4.htm

  • 酸化物表面のOH、H2Oの除去

    加熱、真空処理以外に完全に酸化物表面の水酸基、吸着水を除去する方法はありますか?

  • 強度を持った装飾用の表面処理を教えて下さい

    表面処理についてほとんど何も知りません。 今、樹脂メッキしている製品の高級グレードとして表面処理をかえたものができないかと探しています。イオンプレーティングでシャンパンゴールドにするという試作はやって見ましたが、硬度がH程度だと言われました。清掃時などにこすることも考えられるので、できれば硬度があり、耐摩耗性が良いものがないかと思っています。 ABS樹脂に加工してもらうため、温度を上げるわけにもいきません。何かよい表面処理の方法がありましたら、教えて下さい。お願い致します。

  • どうして3D画像の計算にグラフィックアクセラレータが必要か?(ハードウェアの観点から)←初心者

    グラフィックを専門とする方に教えて頂きたいことがあります。 自分はGPGPUを研究分野にしようとしている学生です。GPUは多数の浮動小数点(単精度)ユニットから構成されていることは周知の事実だと思います。 教えて頂きたいのは、GPU上ではグラフィック処理のどの部分を計算させて高速化しているのか、ということです。 本やネット等で少し勉強したところによると、 1.3Dグラフィックに必要なポリゴンの頂点計算(平行移動、回転等)について (1)この計算は行列が主なので計算量が多い。しかし、行列は並列演算できるので、多数の演算ユニットを持つGPUを用いて高速化できる。 (2)物体A、物体Bというようにそれぞれの物体は基本的には独立に計算できることが多いので、並列計算させると高速化できる。 (3)3Dグラフィックを計算するには座標が整数値だと荒すぎるので、座標を小数点単位まで指定することで美しい画像を表現する。 2.ポリゴンに貼り付けるテクスチャの計算も、浮動少数点ユニットを使うために0~255の整数値RGBの値を0.0~1.0の少数値に変換して計算している。また、色の計算も基本的にRGBの組合せなので独立に計算できるから、GPUを用いると高速に計算できる。 以上、1と2の理由から、"多数の"、かつ、"浮動少数点"計算ユニットを持つアクセラレータが必要。従って、頂点計算も色(テクスチャ)の計算も全てGPU上で行なっているのではないか というように理解、推測しています。 しかし、色の計算はCPU上で行なって、頂点の計算のみGPU上で行なう、ということもあるような気がします。 いずれにしろ、初心者が予想できる範囲で述べてみました。多分ヘンなことを多数言っていると思うので、ご指摘いただけると有難いです。以上の点について(できればハードウェア寄りで)知識のある方がいれば、ご指摘並びに、御教授頂けると幸いです。 よろしくお願いいたします。

  • どうして3D画像の計算にグラフィックアクセラレータが必要か?(ハードウェアの観点から)←初心者

    グラフィックを専門とする方に教えて頂きたいことがあります。 GPUは多数の浮動小数点(単精度)ユニットから構成されていることは周知の事実だと思います。 教えて頂きたいのは、GPU上ではグラフィック処理のどの部分を計算させて高速化しているのか、ということです。 本やネット等で少し勉強したところによると、 1.3Dグラフィックに必要なポリゴンの頂点計算(平行移動、回転等)について (1)この計算は行列が主なので計算量が多い。しかし、行列は並列演算できるので、多数の演算ユニットを持つGPUを用いて高速化できる。 (2)物体A、物体Bというようにそれぞれの物体は基本的には独立に計算できることが多いので、並列計算させると高速化できる。 (3)3Dグラフィックを計算するには座標が整数値だと荒すぎるので、座標を小数点単位まで指定することで美しい画像を表現する。 2.ポリゴンに貼り付けるテクスチャの計算も、浮動少数点ユニットを使うために0~255の整数値RGBの値を0.0~1.0の少数値に変換して計算している。また、色の計算も基本的にRGBの組合せなので独立に計算できるから、GPUを用いると高速に計算できる。 以上、1と2の理由から、"多数の"、かつ、"浮動少数点"計算ユニットを持つアクセラレータが必要。従って、頂点計算も色(テクスチャ)の計算も全てGPU上で行なっているのではないか というように理解、推測しています。 しかし、色の計算はCPU上で行なって、頂点の計算のみGPU上で行なう、ということもあるような気がします。 いずれにしろ、初心者が予想できる範囲で述べてみました。多分ヘンなことを多数言っていると思うので、ご指摘いただけると有難いです。以上の点について(できればハードウェア寄りで)知識のある方がいれば、ご指摘並びに、御教授頂けると幸いです。 よろしくお願いいたします。

専門家に質問してみよう