OpenGLスレ Part14
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2010/01/19(火) 20:46:36現在のバージョンは3.2
http://www.opengl.org/
== OpenGLと一緒に使われるツール&ライブラリ ==
苦労したくなかったらとりあえず入れとけ。
・glx: XからOpenGLを使うためのライブラリ。普通は直接は使わず意識する事はない
・glut: クロスプラットフォームなツールキット。でもさすがに古くさい
・glew: これを入れないと拡張機能が使えないor使いにくい
・glxgears: 歯車が回るベンチマーク。-infoでOpenGLのバージョンが見られる。OpenGLの動作確認はこれで
・glxinfo: 自分の使っているカードのOpenGLの機能が全てリストアップされる。
== 必読書 ==
・OpenGLプログラミングガイド 原著第5版 (通称赤本)
・OpenGL(R) Reference Manual (通称青本)
・OpenGL Shading Language (通称だいだい本)
・OpenGL(R) SuperBible: Comprehensive Tutorial and Reference
・OpenGL ES 2.0 プログラミングガイド
・GLUTによるOpenGL入門
・GLUTによるOpenGL入門2 テクスチャマッピング
あると便利。
・ゲームプログラミングのための3Dグラフィックス数学
== チュートリアルサイト ==
床井研究室: http://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html
NeHe: http://nehe.gamedev.net/
== 前スレ ==
Part13: http://pc12.2ch.net/test/read.cgi/tech/1221215309/
0809デフォルトの名無しさん
2010/09/29(水) 18:39:55ヒント:移動、回転(角度は逆三角関数と、3平方の定理使ったらわかるよね)、拡大(これもベクトルの長さからわかる)
0810デフォルトの名無しさん
2010/09/29(水) 18:44:520811デフォルトの名無しさん
2010/09/29(水) 21:50:36線だけじゃないので
平行移動、回転を使った方が楽なんです
>>809
回転ってやっぱり一発じゃ無理ですよね
0812デフォルトの名無しさん
2010/09/29(水) 23:00:340813デフォルトの名無しさん
2010/09/30(木) 00:04:34矢印の頭の方向がおかしくなってしまいます
glPushMatrix();
{
glTranslated( i, j, k );
//棒部分
glBegin( GL_LINES );
glVertex3d( -x/4, -y/4, -z/4 );
glVertex3d( x/4, y/4, z/4 );
glEnd();
norm=sqrt(x*x+y*y+z*z);
theta1 = acos(x/norm);
theta1 *= 180/PI;
if(y==0) glRotated( theta1, 0, 1, 0 );
else if(z==0) glRotated( theta1, 0, 0, 1 );
else glRotated( theta1, 0, 1/y, -1/z );
//頭部分
glBegin( GL_TRIANGLE_FAN );
glVertex3d( norm/4, 0.0, 0.0 );
glVertex3d( norm/4-0.2, 0.05, 0.0 );
glVertex3d( norm/4-0.2, 0.0, -0.05 );
glVertex3d( norm/4-0.2, -0.05, 0.0 );
glVertex3d( norm/4-0.2, 0.0, 0.05 );
glVertex3d( norm/4-0.2, 0.05, 0.0 );
glEnd();
}
glPopMatrix();
0814デフォルトの名無しさん
2010/09/30(木) 01:57:20自己解決しました
acosの返り値の範囲を考慮してませんでした
0815デフォルトの名無しさん
2010/10/01(金) 23:02:26実装したいと思っています。
ただ、デプスバッファ、法線バッファとして単精度浮動小数点バッファを
作成するところで上手く出来ていないようで、レンダリングが正常に行えません。
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA16F,width,height,0,GL_RGBA,GL_UNSIGNED_BYTE,0);
以下の構成でレンダリングに失敗しました。
CPU:C2D E6600
GPU:Radeon X1950XTX
もう一つの開発環境(以下)では正常にレンダリングが行えました。
CPU:C2D T9600
GPU:Nvidia QuadroFX 2700M
X1950XTXが少し古いのに起因しているのかと思ったのですが、
ハードウェア的には浮動小数点バッファを扱えるという記述をいくつか見つけたので、
もしRadeonでOpenGLを浮動小数点バッファを作成している、という方がいましたら
教えていただけないでしょうか?
0816デフォルトの名無しさん
2010/10/01(金) 23:11:14RadeonのCatalystドライバのバージョンは2010.0210.2339.42455です。
0817デフォルトの名無しさん
2010/10/02(土) 01:58:09FBOが不完全なんてこともないんだよね?
0818デフォルトの名無しさん
2010/10/02(土) 05:45:17揚げ足とるわけじゃないが、記述を見かけたなんて言ってないで
glGetString()で自身の環境で機能を確認すれば言いだけの話
その方法を知っていてやらないのは駄目だろ
あとは旧ATIのGLドライバは、GLの規格に厳密すぎる所がある
ちゃんとリファレンス読んで、その通りに実装しないとエラーになる
同じコードで、NVIDIAでは動いて、ATIで動かないなんてザラ
でネット拾ったり、本なんかに載ってるコードを
リファレンス通りに修正するとATIでも動くようになるw
ATIボードの機能が有効なのにNVIDIAでしか動かないなら、この辺りじゃね
0819デフォルトの名無しさん
2010/10/02(土) 09:33:48レス、ありがとうございます。
glGetErrorではエラーは吐きませんでした。
FBOはCOLOR_ATTACHMENT0_EXT、DEPTH_ATTACHMENT_EXTは設定していますが(共にテクスチャ使用)、
ステンシルに対しては使用しないので設定していません。
一応レンダーバッファのほうで設定してみます。
>>818
レスありがとうございます。
使用可能かどうかはglGetStringは使用していないのですが、
OpenGL Extensions Viewer 3.32のほうで確認を行いました。
(GL_RGBA16,GL_RGBA_FLOAT16に使用可能のチェック有)
確かにATIのドライバは仕様に厳格なところがありますね。
GLSLコードを書くときもよく弾かれてました。
Nvidiaは逆に良くも悪くも柔軟+最適化されていて判断に困ることがw;
厳格なATIで動けばNvidiaはまず動く、というのが自分の考えなので
ATIで動かないコードは書きたくないなぁと思って・・・。なかなか難しいですね。
0820デフォルトの名無しさん
2010/10/02(土) 13:51:15いや、不完全ってのはglCheckFramebufferStatusで
ちゃんとGL_FRAMEBUFFER_COMPLETEが返ってくるか確かめろってことだろ。
0821デフォルトの名無しさん
2010/10/02(土) 15:20:19glBegin()〜glEnd()の間に行列操作を入れたいのですが、glBegin()〜glEnd()間の
関数制限で実装出来ずに困っています。
そういう事ってOpenGLではどうやっても出来ないのですか?
宜しくお願いします。
0822デフォルトの名無しさん
2010/10/02(土) 15:47:15キミがアホなだけ。
0823821
2010/10/02(土) 16:29:04座標変換を外でやって実装する方法はやりました。
(それでコードやデータに問題が無いのを確かめたので…)
今やりたいのは、GL_TRIANGLE_STRIP 等の途中で行列演算が
挟みたい状態ですので、途中でEnd()〜Beginも挟めずに困っています。
0824デフォルトの名無しさん
2010/10/02(土) 17:46:05自分で (C言語の + 演 算子や * 演算子や sin 関数、cos 関数等を使って) 行列の計算をするのにEndもBeginも要らない
0825デフォルトの名無しさん
2010/10/02(土) 17:47:220826デフォルトの名無しさん
2010/10/02(土) 21:13:45glBegin()〜glEnd()の間に実行できるGL命令の種類は極めて限られています。
基本的には、頂点アトリビュートの変更しかできないと思ってください。
行列の変更も無理。
同じ事をやりたいなら、行列を変更したい部分でストリップを切って、
別の行列の元で別のストリップとして描画するしかありません。
(切ったストリップ間は適当なTRIANGLEなりなんなりでつなぐ)
頂点シェーダが使えるなら、頂点ごとに別の行列を参照することで
821さんのやりたいことができますけどね。
0827デフォルトの名無しさん
2010/10/03(日) 00:06:500828821
2010/10/03(日) 01:11:35基本的にはOpenGLの機能としてはシェーダを使わないと無理という感じなのですね…。
大変参考になりました。有難うございました。m(_ _)m
0829デフォルトの名無しさん
2010/10/03(日) 01:26:080830デフォルトの名無しさん
2010/10/03(日) 01:56:470831デフォルトの名無しさん
2010/10/03(日) 01:59:530832デフォルトの名無しさん
2010/10/03(日) 02:04:090833デフォルトの名無しさん
2010/10/03(日) 02:38:290834デフォルトの名無しさん
2010/10/03(日) 02:57:24・・・・・・・えーーーーと・・・・????
0835デフォルトの名無しさん
2010/10/03(日) 07:31:500836デフォルトの名無しさん
2010/10/03(日) 10:31:56通常はglBeginを始めた時点で全てのデータは既知(固定)だ。
glBegin~glEndの中でこねくりまわす必要は普通はない。
0837デフォルトの名無しさん
2010/10/03(日) 11:26:26なら頂点シェーダーか行列パレットであってるでしょ。
0838821
2010/10/03(日) 11:52:24すみません。
「行列パレット」という機能がシェーダの機能の一部なのだと
勘違いしてしまいました。
「行列パレット」を使えば出来そうなのですか!?
>833
>826さんにも同様のアドバイスを頂きましたが、TRIANGLE_STRPI中の
プリミティブを分割するとなると、結局プリミティブを分割する時点で
一番最後の関連する頂点座標を個別計算しておく必要が出てきてしまい、
処理がとても煩雑になってしまうので…。
0839デフォルトの名無しさん
2010/10/03(日) 13:08:20行列パレットでできます。というかまさに821さんのやりたいことを実現するための機能です。
もっとも、821さんがお使いの環境で行列パレットが使用可能かどうかは分かりませんが・・・。
0840821
2010/10/03(日) 13:38:42有難うございます!
行列パレット関係でググってみたところ、「ボーンの数だけ行列をあらかじめ計算して
保存しておいて(マトリックスパレット)、あとはこれとデータをGPUにおくってやればOK」
という感じの、自分がやりたい方向性の記事が見つかりました!
ですが、>839さんのいうように、普通に使える機能ではなさそうな感じで、しかも
導入ページみたいなものも無さそうで難しそうですね…。
0841デフォルトの名無しさん
2010/10/03(日) 13:47:39もしかして拡張機能の取得の仕方が分からないですか?
環境(OS)と、グラフィックスカードは何をお使いで?
0842デフォルトの名無しさん
2010/10/03(日) 14:08:34なぜポリゴン描画中に行列の操作が必要だと思ったのかわからないし、
具体的にどんなモデルを描画しようとして困ってるとかも言った方が答えやすいよ。
0843821
2010/10/03(日) 14:14:03はい、拡張機能関連が正直言って良く分かっていない状態です。
------------------------------------------------------
OS:Windows7
ビデオチップ:(GeForce9400/PCI/SSE2)
OpenGL:Version3.0( OpenGL Extensions Viewer3.32より )
------------------------------------------------------
ここにfreegltとglew-1.5.6-win32.zipを入れた状態です。
ですが、glewは上手く入っていない感じで、
glewInit()が「Missing GL version」で失敗してしまったり、
glewIsSupported("GL_VERSION_1_2")がfalseを返したりしています。
>>842
一般的ではないモデルデータで情報共有できないのですが、そのモデルデータのデータ構造が
そうなっているのです。
(プリミティブの頂点リストの中に行列の差し替えがコマンドとして入っていて、それらにはノードの
計算結果を入れておく構造)
0844デフォルトの名無しさん
2010/10/03(日) 15:22:11環境的には、行列パレット使えそうですけどね。
僕はGLEWじゃなくてGLeeばっか使ってるので、エラーはよく分からんw
もしできるなら、GLeeの方で試してみるとか?(「glee opengl」でぐぐれ)
ARB_matrix_paletteに関しては、さすがに説明面倒臭いんでリファレンス見てください。
しっかし気持ち悪いモデルデータ使ってますねw
僕が知らないだけで、そういうデータ構造って割と一般的だったりするのかなぁ。
0846デフォルトの名無しさん
2010/10/03(日) 15:49:59DirectXも昔はそういう感じだったんだけどね
821がなんかの移植をやってるならできれば両方に詳しいような人を捕まえたほうがいいと思う
0847デフォルトの名無しさん
2010/10/03(日) 16:16:440848デフォルトの名無しさん
2010/10/03(日) 16:27:10んー、いや、バッチの中に色々なコマンドが入ってるのは分かるんですよ。
ただ、821さんの話だと、一つのストリップを構成する頂点リストの中に、
行列操作コマンドが入っているような感じを受けたので。(合ってるのかなぁ?)
さすがに、DirectXやコンシューマ機でも、そういう形ではデータ保持しないですよね。多分。
いや、メモリ上でのデータ構造としてはナシとしても、ファイルフォーマットとしてはアリなのかな??
0849デフォルトの名無しさん
2010/10/03(日) 16:53:020850デフォルトの名無しさん
2010/10/03(日) 22:20:49最近のビデオカードでは GL_ARB_matrix_palette や GL_ARB_vertex_blend って本当にサポートされているんでしょうか。
手元の Radeon HD 4850 を OpenGL Extension Viewer で調べてみても
Extensions には GL_ARB_matrix_palette も GL_ARB_vertex_blend の文字がありません。
このサイトで表示されるビデオカードは全部 false (未サポート)ですね…。
http://www.kludx.com/capability.php?capability=463
http://www.kludx.com/capability.php?capability=440
サポートしている PC 用ビデオカードって本当にあったんだろうか…という気がしてきました。
0851デフォルトの名無しさん
2010/10/03(日) 22:45:130852821
2010/10/03(日) 23:05:12自分の環境では OpenGL Extention Viwer でチェックがついていたので
運よく使えるみたいです。
折角みなさんに ARB_matrix_palette を教えていただいたのですが、
リファレンスを見てもサッパリ使い方が分かりません。
(↓リファレンスはこれで合っていますか?)
ttp://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
glCurrentPaletteMatrixARB (GLint index);
glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
glMatrixIndexubvARB (GLint size, GLubyte *indices);
glMatrixIndexuivARB (GLint size, GLuint *indices);
glMatrixIndexusvARB (GLint size, GLushort *indices);
これらの概要というか使い方を知っている方がおられたらご教授ねがえませんでしょうか?
お願いばかりで本当にすみません…。
0853デフォルトの名無しさん
2010/10/03(日) 23:25:28Extension Viewerのデータベースには一個もないよね
0854デフォルトの名無しさん
2010/10/03(日) 23:42:03有効化は glEnable(GL_MATRIX_PALETTE_ARB);
行列パレットは glMatrixMode(GL_MATRIX_PALETTE_ARB); と glCurrentPaletteMatrixARB(i); で選択して glLoadIdentity 他で設定する
各頂点に glWeight{b,s,i,f,d,ub,us,ui}vARB で1つ以上のウェイト値を指定する (w_0〜w_n)
各頂点に glMatrixIndex{ub,ui,us}vARB で1つ以上のインデックス番号を指定することによって、さっき設定した行列から使うものを選択する (M_0〜M_n)
座標変換は (xe,ye,ze,we) = sum(w_i * M_i * (xo, yo, wo, zo)) のように計算される (i=0〜n)
およそこんな感じじゃないでしょうか? そのリファレンス読む限り
正確なところはもう一度自分で読み直してみてください、必要なことは一通り書いてあるように思います
0855821
2010/10/04(月) 01:57:41有難うございます。さっそく少しいじってみたところ、
glEnable(GL_MATRIX_PALETTE_ARB);
glMatrixMode(GL_MATRIX_PALETTE_ARB);
glCurrentPaletteMatrixARB(0);
と順番に呼んだ時点でアプリケーションエラーで停止してしまいました。
明日、英語をじっくり解読して原因を調べます。
本当にご親切に有難うございました。
0856デフォルトの名無しさん
2010/10/04(月) 09:29:35glCurrentPaletteMatrixARB()の関数ポインタがNULLになってないかな。
デバッガで(printfでもいいけど)要確認。
0857デフォルトの名無しさん
2010/10/04(月) 15:37:19組込でよければ PowerVR MBX (OpenGL ES 1.1) にはある模様。
Part2 の339以降を読むと2003年の頃の状況がわかってとても参考になる…。
ttp://pc5.2ch.net/tech/kako/1039/10399/1039984523.html
…読めば読むほど勉強する気が失せてきた ('A`)
0858デフォルトの名無しさん
2010/10/04(月) 18:28:06シェーダー使わないスキニングの需要はあると思うんだけどね……
何というかOpenGLにもいろいろ残念な仕様がある。
0859デフォルトの名無しさん
2010/10/04(月) 22:12:14画面に表示したい場合はどのようにすればいいのでしょうか?
(三角形をglVertex2fみたいにウィンドウの座標で表示したい、ということです。)
方法を検索しようにも用語がわからず困っています。
0860デフォルトの名無しさん
2010/10/04(月) 22:40:260861デフォルトの名無しさん
2010/10/05(火) 03:15:430862デフォルトの名無しさん
2010/10/05(火) 03:44:02ただこの場合気をつけなければいけないのはz値の処理がPerspectiveとOrthogonalで違うこと。
0863デフォルトの名無しさん
2010/10/05(火) 07:55:44ありがとうございます。検索してみます。
0864デフォルトの名無しさん
2010/10/05(火) 18:05:35画像を表示するプログラムを作ったのですが、
ウインドウの拡大縮小に合わせて
画像の大きさも変わるようにできますか?
0865デフォルトの名無しさん
2010/10/05(火) 18:08:330866デフォルトの名無しさん
2010/10/05(火) 18:09:040867デフォルトの名無しさん
2010/10/05(火) 18:18:48ありがとん
0868デフォルトの名無しさん
2010/10/05(火) 19:39:310869デフォルトの名無しさん
2010/10/06(水) 00:05:44フラグメントシェーダで全ピクセル毎に計算やるのが主流だ。
glDrawPixels、glPixelZoomのようなCore profileに含まれていない関数を使うのはやめて
ポリゴンとテクスチャで2D処理したほうがいいんじゃないかな。
0870デフォルトの名無しさん
2010/10/06(水) 11:12:33glRectf()で描くのが俺のジャスティス!
0871821
2010/10/06(水) 13:28:27printf("func = %x\n", glCurrentPaletteMatrixARB );
でのテスト結果はご指摘の通り0でした。
これってOpenGLが拡張機能に対応していないっていう認識で良いのしょうか?
自分のPC環境ですが、Extention Viewer で全ての機能がチェックになっているのも
何かおかしいのでしょうね…。OSがWindows7だからでしょうか、Extention Viewer自体
何回か起動すると時々アプリケーションエラーで起動できないことがあります。
いずれにしろ、トライがちょっと難航し過ぎているのでFbx等の一般的なフォーマットに
一旦変換してから「普通の」表示方法で出すように方針転換する事にしました。
実機と扱うデータが異なってしまう時点でかなりデメリットは大きいのですが止むをえません。
結局は、シェーダを自分でコントロールできるようになったら改めて実現できるとのことなので、
いずれそちらで対応しようと思います。
MatrixPallete周りで具体的なアドバイスを頂いた方々には本当に感謝しています。
本当にご親切な対応をして頂いて有難うございました。(成果につなげられず済みませんでした…)
0872デフォルトの名無しさん
2010/10/06(水) 17:30:26画面全体を覆う矩形(くけい)とは、つまりビルボードの事。
ビルボードをレンダリングした後、テクスチャにエフェクトかけてビルボードのポリゴンさんに貼り付ける仕事をするのがシェーダー言語。
エフェクトとは拡大・縮小に限らず様々な事がGPU様にお願いできる。
>>869の認識としてはこれでおk?
0873デフォルトの名無しさん
2010/10/06(水) 19:13:15ソースデータはシェーダのuniformあたりに入れておいて、
画面全体を1ピクセルごとに舐めるように計算しろって話だと思う
gl1.4以前の関数をほぼ使わずシェーダのみで解決という邪道計算は
やったことがある人でないと勘所がつかみづらいと思われ
0874デフォルトの名無しさん
2010/10/06(水) 19:49:080875デフォルトの名無しさん
2010/10/06(水) 22:13:18そもそもglBitmapなんて使うか?
0876デフォルトの名無しさん
2010/10/06(水) 23:45:29GPUメーカーはよく使われる機能をチューニングしてマイナーな
機能は徐々に廃止していく。その結果、曲面・四角形・ピクセルやビットマップの
直接描画など三角形の描画以外の仕事はハードウェアでネイティブに処理されず
ドライバエミュレーションで処理される等の理由で遅い可能性が高いので
なんでも三角形(とテクスチャ)でやるのが最速、というあたりを
説明しないといきなりレイトレとか出しても混乱させるだけじゃないかと思った
0877デフォルトの名無しさん
2010/10/07(木) 00:06:39glRectf()はcore profileに入ってないから使うのはヤメタマエ(`・д・´)
でもVBOとか使って矩形レンダリングするよりはglRectを使ったほうが楽なんだよね。
>>872
OpenGL 2.0以降の仕様書を読みなさい。
ピクセルシェーダというのはDirect3Dでの用語
フラグメントシェーダというのはOpenGLでの用語
画面全体を覆う矩形はビルボードとは別物。
ビルボードをレンダリングするときはちゃんとカメラの設定に合わせてレンダリングする必要があるけど
矩形の方はカメラとか無視して, 単に画面を覆うように四角形か三角形2枚をレンダリングするだけ.
このときvertex shaderでは座標変換とかする必要はない.
このサイトを見れば具体的な内容がわかると思う.
ttp://kioku.sys-k.net/4kgfxmon/
>>872
テクスチャはGPUレイトレみないな事をやるときでも役に立つよ。
uniform変数はテクスチャの置き換えになるものではないんだよ。
>>876
deprecatedな機能は遅かったり, 将来使えなくなるんかなと思ったけど
NVIDIAはOpenGLの古い機能もちゃんとチューニングするらしい。
参考サイト
ttp://www.slideshare.net/Mark_Kilgard/gtc-2010-opengl
0878デフォルトの名無しさん
2010/10/07(木) 00:12:36つーかなんでみんな三角形2枚で画面を覆うの?
三角形1枚で画面を覆う方がcoolじゃね?
0879デフォルトの名無しさん
2010/10/07(木) 00:50:00テクスチャ座標の計算が面倒になるだろ。
以前CPUとGPUの差を見るために画像処理プログラム書いたら800x600くらいの画像に5x5のガウシアンフィルタかけた場合には
CPU(1 thread) : 16[s]に対し、GPUは0.07[s]とかそんなんだったわwCPU側のはまだ最適化の余地はあるけどそれでも数十倍の違いはあった。
最近はOpenCLとか出てきてるからある程度整備されたらGPUレイトレとか画像処理とかはそれにやらせるべきなんだろうけどね。
0880デフォルトの名無しさん
2010/10/07(木) 00:53:41> deprecatedな機能は遅かったり, 将来使えなくなるんかなと思ったけど
> NVIDIAはOpenGLの古い機能もちゃんとチューニングするらしい。
限りあるトランジスタをどの機能にどれだけ配分するかの問題だから全部の機能が
時代相応に速くなりますってことはないんじゃないかな
仮にNVIDIAはMarkさんが頑として譲らなかったとしてもIntelとAMDはどうだろうねぇ
0881>>872
2010/10/07(木) 09:41:09>>876
>>877
うぉー、皆様懇切丁寧にありがとうございました。
何だか意図せず昔やりたかった事柄を勉強しないといけなくなりそうでwktkです。
てか4kGfxMon落としたらトロイ検出された/(^o^)\
0882デフォルトの名無しさん
2010/10/07(木) 12:19:04↓
プログラマブルなGPUが主流になる
↓
古いOpenGLの機能は今時のGPUにあわなくなる。
同じ事をするのに何通りもの方法があると混乱する。
↓
新しいGPUにあった機能だけが使えるOpenGLをCore profilesを制定
古い機能が必要なときはCompatibility profilesという拡張機能を使おう
↓
俺ら「よし, これからはCore profilesの機能だけを使って新しいGPU時代を謳歌しようぜ!」
「仕様が雑多なCompatibility profilesはわすれようぜ」
↓
ドイツ人・フランス人「Core profilesだけを使った現代的なOpenGLのチュートリアルを書いたぜ!」
↓
nvidia「うちは古い機能も全力でサポートするよ!」
>>881
4kGfxMonはCrinklerっていうプログラム圧縮プログラムが使われている。
そういうプログラムは解凍しないとウィルスかどうか判断できないとかいう理由で
頻繁に誤検出されちゃう。
たぶん実行しても大丈夫だろうけど心配なら4kGfxMonを自作すればいいんでない?
0883デフォルトの名無しさん
2010/10/07(木) 12:52:13冗談抜きに複雑になりすぎて自己崩壊しつつある。
0884デフォルトの名無しさん
2010/10/07(木) 13:08:31今の複雑な仕様じゃ作る気にならねー
0886デフォルトの名無しさん
2010/10/08(金) 03:10:41OpenGL3.0になってから
ライティング, 座標変換, ディスプレイリスト等の固定機能はdeprecatedになって
結構シンプルになった。
その代わり自分でライティング, 座標変換しないといけなくなったけど
アルゴリズムさえ理解していればそんなに大変なことではない。
それでも複雑でいやならOpenSceneGraphとかのライブラリを使えばいいと思う。
>>884
今の仕様だとGLSLコンパイラを作らないといけないのがちょっと大変そう。
日本語のOpenGLのサイトでCore profilesの機能だけに絞った解説ページが無いっぽいけど
そういうサイトの需要はある?
うまくいけば広告で稼げるか?!稼げるわけないか・・・
0887デフォルトの名無しさん
2010/10/08(金) 03:56:220888デフォルトの名無しさん
2010/10/08(金) 10:11:470889デフォルトの名無しさん
2010/10/08(金) 11:12:40単なるボランティア?
0890デフォルトの名無しさん
2010/10/09(土) 01:34:09現在 300x800の画面で作ったアプリを
300x400のサイズのウィンドウに左右分割したいと思っています。
glPerspectiveの値をいじってたりしましたが、左右キッチリと分割できませでした。
もし解決法などをご存知の方がいらっしゃいましたらご回答よろしくおねがいします。
0891デフォルトの名無しさん
2010/10/09(土) 01:59:44つglViewport()
0892デフォルトの名無しさん
2010/10/09(土) 06:00:16つかれたー
0893デフォルトの名無しさん
2010/10/09(土) 07:54:17glFrustum()は左右非対称の錐台も設定できる
0894デフォルトの名無しさん
2010/10/13(水) 10:27:08下地の色と特定のカラーをテクスチャーの色で分配(ブレンド)する(?)、
どう見えるのでしょうか?
0895デフォルトの名無しさん
2010/10/13(水) 11:58:45OpenGL入れてみた。
DirectXは画面の初期化からして全然理解できなった。
OpenGLの方で趣味として実用化できそうなので
テンプレの参考書求めて本屋さん行ってきます。
0896デフォルトの名無しさん
2010/10/13(水) 12:08:500897デフォルトの名無しさん
2010/10/13(水) 12:25:350898デフォルトの名無しさん
2010/10/13(水) 12:33:170899デフォルトの名無しさん
2010/10/13(水) 13:26:46頭の中がコピー&ペーストで成り立っているということだけはわかった。
自律的発想に乏しく、文章構成能力が低いのな。
IT業界にはコミュニケーション能力が必要らしいから、
ちゃんと日本語で物事が考えることができるように努力するんだな。
流行り言葉の反復ばっかりしているんじゃねえ。笑わせんな。噛みつきワニ。
0900デフォルトの名無しさん
2010/10/13(水) 13:35:150901デフォルトの名無しさん
2010/10/13(水) 13:45:34とても汚いです。
0902デフォルトの名無しさん
2010/10/13(水) 13:57:05どこにもあるようなコピペで噛みつくは、人の言葉反復して返してきやがるし。
脳みそが入力情報に決まった値返すだけの単純サブルーチンかなんかなんだろう。
言語の雑談しに来ただけなのによー。
0903デフォルトの名無しさん
2010/10/13(水) 14:03:26ttp://wisdom.sakura.ne.jp/system/opengl/gl17.html
これ見て色々試してみたら
0904デフォルトの名無しさん
2010/10/13(水) 14:07:34>>896は、下らないどうでもいいお前の独り言書くなよカスって言いたいんだろ、言わせんな恥ずかしい。
0905デフォルトの名無しさん
2010/10/13(水) 14:41:15透視変換をかけた後のクリッピング空間での視体積はz,y,z軸ともに-1〜+1ですよね
にも関わらずglClearDepthで指定するzバッファーは0~1なのですが、これおかしくないですか
zテストするときはz軸をさらに変換しないといけないのがおかしいと思います。
どうでしょうか。
0906デフォルトの名無しさん
2010/10/13(水) 14:54:190907905
2010/10/13(水) 15:14:39まずウインドウ座標が2次元なのか3次元なのかが明確でない。
デプステストがウインドウ座標で行われるのか明確でない。
もうちょっとわかりやすく書いて欲しい。。。。
0908デフォルトの名無しさん
2010/10/14(木) 00:37:48正確なところを知りたければ仕様書を読まねばなるまい
わかりやすくはないけど
レス数が900を超えています。1000を超えると表示できなくなるよ。