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

著者: Eugene Taylor
作成日: 16 Aug. 2021
更新日: 1 J 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、半径の値を指定した場合、白い背景に黒い円が表示されます。

PDFは最も広く使用されている種類のデジタル文書の1つですが、商用プログラムがないと編集できません。 PDFの開発会社であるAdobeは、PDFの作成とレビューを行うための「Acrobat Pro」を提供していますが、「Foxit」エディタはこれに代わる手頃な価格の選択肢となるでしょう。ただし、使用を開始する前に、製品の機能を確認してください。 あなたのPDFを編集するために "Foxi...

あなたの食物摂取量を測定することはあなたがあなたが各食事で何カロリーを消費するのかをあなたに知らせます。 50 gの調理済み麺など、炭水化物のごく一部を制限することで、食事の目標を達成するのに役立ちます。ただし、生麺と調理麺の重量にはいくつかの違いがあります。たとえば、計量カップで質量を計算しても、正確な重量はわかりません。適切な計量ツールを使って調理済み食品を計量する必要があります。 より正確に...

統合を選択してください