OpenGLで円をレンダリングする方法

著者: Eugene Taylor
作成日: 16 Aug. 2021
更新日: 14 11月 2024
Anonim
ゲームエンジンでの円のレンダリング//ゲームエンジンシリーズ
ビデオ: ゲームエンジンでの円のレンダリング//ゲームエンジンシリーズ

コンテンツ

OpenGL(Open Graphics Library)は、さまざまなプログラミング言語とプラットフォームで2Dおよび3Dアプリケーションを作成するためのグラフィックAPI(アプリケーションプログラミングインターフェイス)です。シンプルなプリミティブオブジェクトから複雑な3Dシーンまで何でもレンダリングするために使用できます。 Open GLは、コンピューター設計、科学的可視化、飛行シミュレーション、およびビデオゲームで広く使用されています。 OpenGlには円を直接描画するメソッドはありませんが、一連の線を使用して円を作成することは可能です。円を描くには、OpenGLの基本的な知識が必要です。

ステップ1

OpenGLビューポートで基本的なプログラムを作成します。このプロセスに慣れていない場合は、OpenGLページにチュートリアルがあります。


ステップ2

プログラムの先頭に次のコードを入力して、math.h.headerファイルをプログラムに追加します。#include 。これにより、円の計算に必要なcos()およびsin()(サインおよびコサイン)関数が提供されます。

ステップ3

コールバック関数を表示する前に次のコードを追加して、circleメソッドを開始します。

void drawCircle(GLint x、GLint y、GLint radius、int num_lines){}

変数「x」と「y」はウィンドウの円の中心を定義するために使用され、「半径」は円の半径を設定します。整数「num_lines」は、円を構成するために使用される線の数です。この数値が大きいほど、円がより滑らかに表示されます。

ステップ4

キー内に次の構成コードを追加します。

フロート角度GO int num_lines GO glColor3f(0.0、0.0、0.0)GO。

「角度」変数には、円を構成するために使用される線の角度が含まれます。 glColor3f()関数を呼び出すと、線の色が黒に設定されます。3つの0の系列は、0、1のスケールでの赤、緑、青の強度に対応します。


手順5

手順4のglColor3f()関数の下に次のコードを追加します。

glBegin(GL_LINE_LOOP)GO

これは、OpenGLに後続の線が線の描画を伴うことを伝えます。具体的には、一連の接続線である「GL_LINE_LOOP」を描画します。

手順6

glBegin()を呼び出した後、forループに次のコードを入力します。

for(int i = 0; i <row_number; i ++){angle = i * 2 * M_PI / num_line; glVertex2f(x +(cos(角度) *半径)、y +(sin(角度) *半径)); }

このループは3つのことを行います。最初に、 "num_lines"の値に従って反復します。ここで、num_linesは整数であり、各反復で線を描画し、直線num_linesで構成される円を生成します。次に、ラジアンで円の中心を基準にした線の角度を計算します。 「M_P」は、math.hで定義された定数で、piを表します。最後に、glVertex2f()を呼び出すと、線の終点の座標が計算されます。


手順7

ループ先の後に、次のコード行を入力します。

glEnd()GO

これにより、OpenGLに線の描画が終了したことが通知されます。

手順8

シーンに円を描くには、drawCircle()メソッドからの呼び出しをプログラムのコールバック表示関数に追加します。これは、手順1で準備する必要があります。x、y、radius、num_linesの値を指定します。ここで、xとyは点を表しますシーンでは、radiusは円の半径、num_linesは円を構成する線の数です。ここでも、OpenGLとコールバックの表示に慣れていない場合は、OpenGLチュートリアルを参照してください。

手順9

プログラムをコンパイルして実行します。関数を正しく入力すると、エラーなしでコンパイルされます。 x、y、半径の値を指定した場合、白い背景に黒い円が表示されます。

80歳の誕生日は重要な記念日であり、招待状はそれを示すはずです。あなたは様々な創造的な技術を使って電子メールまたは伝統的なグリーティングカードで送るためにカードをオンラインで作ることができます。 80歳の誕生日なので、多くの人が招待状を記念品として保管します。賢いテキストを使用し、あなたの愛する人が高く評価している写真、歌詞、またはフレーズを含めてください。必要に応じて、いくつかのサイトにエッセイ...

Facebookの家族リストでは、あなたの最も近い親戚をハイライトすることができます。家族はあなたの個人情報と一緒に登場し、兄弟姉妹やいとこなどの親族の程度に応じて整理されています。いずれにせよあなたがFacebook上で確立された家族の結びつきを破りたいならば、あなたは簡単にその人を取り除くことができます。あなたの家族リストから誰かを削除しても、それはあなたの友人リストからも削除されません。 あ...

魅力的な出版物