OpenGL 2.0 専用スレ。
ここでは、OpenGL の猛者のみが生き残る―――
探検
OpenGL 2.0 専用スレ
2005/09/09(金) 21:25:59
593デフォルトの名無しさん
2007/10/27(土) 03:43:29 openglの疑問はwww.opengl.orgに行ってspecification等をちゃんと読めばほとんど解決するだろう。
まずはレンダリングパイプラインを理解することが大切だと思うよ。
まずはレンダリングパイプラインを理解することが大切だと思うよ。
594健介
2007/12/25(火) 00:24:22 掃除機セマンテック
595デフォルトの名無しさん
2008/01/26(土) 04:19:35 cg のループ回数(もしくは行数)についてなのですが。
fragment shader (CG_PROFILE_ARBFP1): GeForce7900GS で
void main(out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < 200; i++){
totalCol += 0.001;
}
color = totalCol;
}
だとちゃんと動くのですが、ループの回数を200から300に増やすと、
CG_COMPILER_ERROR
になるのです。なにか制限とかってあるのでしょうか?
fragment shader (CG_PROFILE_ARBFP1): GeForce7900GS で
void main(out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < 200; i++){
totalCol += 0.001;
}
color = totalCol;
}
だとちゃんと動くのですが、ループの回数を200から300に増やすと、
CG_COMPILER_ERROR
になるのです。なにか制限とかってあるのでしょうか?
596デフォルトの名無しさん
2008/01/26(土) 04:21:29 タブが消えてしまった orz
void main(out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < 200; i++){
totalCol += 0.001;
}
color = totalCol;
}
こうです。
void main(out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < 200; i++){
totalCol += 0.001;
}
color = totalCol;
}
こうです。
597デフォルトの名無しさん
2008/01/26(土) 04:23:54 あれ? スペースも消えた。
Live2ch で書き込んでるせいですかね。 ごめんなさい。
Live2ch で書き込んでるせいですかね。 ごめんなさい。
598デフォルトの名無しさん
2008/01/26(土) 08:50:12 いや,重複した半角のスペースは消される
599デフォルトの名無しさん
2008/01/26(土) 09:11:08 ARBFP1というかARBFragmentProgramは動的ループをサポートしてないから
コンパイル時にループを全部展開されて命令数が足りなくなる
よって動的ループをサポートしてる他のプロファイルを使いましょう
コンパイル時にループを全部展開されて命令数が足りなくなる
よって動的ループをサポートしてる他のプロファイルを使いましょう
600595
2008/01/26(土) 15:54:22 ありがとうございます。
やっぱり制限数があるのですね。
他のプロファイルを試してみます。
やっぱり制限数があるのですね。
他のプロファイルを試してみます。
601デフォルトの名無しさん
2008/01/26(土) 16:01:28 ていうかこのスレは隔離スレなので質問は本スレ推奨
602デフォルトの名無しさん
2008/01/26(土) 18:22:17 nvidiaのfragment_programっておかしくね??
これだと、なんか固定機能しか使えないように見えるが
実際PS2.0できるじゃん。
fragment_program2だとPS3.0だし
ここは全員でおかしいと主張すべきだ。
これだと、なんか固定機能しか使えないように見えるが
実際PS2.0できるじゃん。
fragment_program2だとPS3.0だし
ここは全員でおかしいと主張すべきだ。
603デフォルトの名無しさん
2008/01/26(土) 18:35:39 何がおかしいんだか分からんが、それならば
NV_geometry_program4とかNV_fragment_program4とかNV_vertex_program4を
使えばSM4.0相当になるうえにWindowsXPでも動いてしまう
この方がおかしいと思わないか?
NV_geometry_program4とかNV_fragment_program4とかNV_vertex_program4を
使えばSM4.0相当になるうえにWindowsXPでも動いてしまう
この方がおかしいと思わないか?
604デフォルトの名無しさん
2008/01/26(土) 18:44:59 もっと分かりやすくすべきだ。
固定機能しか使えないのならば、fragment_program_kotei_fanction
とか、すべきだ。
PS2.0なら、fragment_program2
PS3.0なら、fragment_program3
とわかりやすくすべきなのだ。
だから、ARB_fragment_programがPS1.1までとかいう、変な大間違いが出てくるのだ。
固定機能しか使えないのならば、fragment_program_kotei_fanction
とか、すべきだ。
PS2.0なら、fragment_program2
PS3.0なら、fragment_program3
とわかりやすくすべきなのだ。
だから、ARB_fragment_programがPS1.1までとかいう、変な大間違いが出てくるのだ。
605デフォルトの名無しさん
2008/01/26(土) 19:34:53 PSやらSMはDirect3Dの基準だぞ
606595
2008/01/26(土) 21:12:47 Cg 2.0 をインストールし(1.1だった)、CG_PROFILE_FP40 プロファイルを使用したら
動的ループができるようになりました。
ちなみに、CG_PROFILE_FP30では、動的ループは無理でした。
ただ、別の問題が出てきました。
void main(uniform float size, out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < size; i++){
totalCol += 1;
}
color = totalCol / size;
}
だと、sizeをいくつにしても、色が白になるはずなのですが、
size 250以上になるとだんだん色が薄くなっていきます。ループの中が
250までしか展開できてないようです。
動的ループができるようになりました。
ちなみに、CG_PROFILE_FP30では、動的ループは無理でした。
ただ、別の問題が出てきました。
void main(uniform float size, out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < size; i++){
totalCol += 1;
}
color = totalCol / size;
}
だと、sizeをいくつにしても、色が白になるはずなのですが、
size 250以上になるとだんだん色が薄くなっていきます。ループの中が
250までしか展開できてないようです。
607595
2008/01/26(土) 21:18:47 続き
で、以下のようにループ部分を分割し、試しにsize=400にして実行したら、
void main(uniform float size, out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < size - 200; i++){
totalCol += 1;
}
for(i = 200; i < size; i++){
totalCol += 1;
}
color = totalCol / size;
}
見事に白色になりました。
GeForce8800 だったら、こういうでかいループも処理できるんでしょうか?
で、以下のようにループ部分を分割し、試しにsize=400にして実行したら、
void main(uniform float size, out float4 color : COLOR){
float i;
float4 totalCol = 0;
for(i = 0; i < size - 200; i++){
totalCol += 1;
}
for(i = 200; i < size; i++){
totalCol += 1;
}
color = totalCol / size;
}
見事に白色になりました。
GeForce8800 だったら、こういうでかいループも処理できるんでしょうか?
608デフォルトの名無しさん
2008/01/27(日) 14:22:52 fp40のループは最大256ループまでだそうだ
GeForce8系で使えるgp4fpなら制限無しだな
GeForce8系で使えるgp4fpなら制限無しだな
609デフォルトの名無しさん
2008/01/27(日) 14:36:30 正直MAXまでの何かってのはやってはいけないことだな
例えば命令スロットが512なら、
512を目一杯使わねばならない状態になるのはいかんこと。
例えば命令スロットが512なら、
512を目一杯使わねばならない状態になるのはいかんこと。
610デフォルトの名無しさん
2008/01/27(日) 16:20:13 リアルタイムレンダリングみたいな用途じゃ無いならいいんじゃない
むしろGPGPUやオフラインレンダリングとかなら出来るだけ詰め込んで
GPUに処理を肩代わりさせたいんじゃないのかな
むしろGPGPUやオフラインレンダリングとかなら出来るだけ詰め込んで
GPUに処理を肩代わりさせたいんじゃないのかな
611595
2008/01/27(日) 20:05:20 256まででしたか。
とりあえず分割ループでごまかすことにしました。
8800欲しい・・・
ちなみに、GPGPUなプログラムです。
とりあえず分割ループでごまかすことにしました。
8800欲しい・・・
ちなみに、GPGPUなプログラムです。
612デフォルトの名無しさん
2008/02/04(月) 13:04:10 main(out float4 color){
TexColor = tex2D(tex, texcoord);// テクスチャの色
PolColor = Lighting();// ポリゴンの色
color = TexColor * PolColor;
}
Cgのフラグメントシェーダの色々省略したコードなのですが、テクスチャをマッピングしないポリゴンがある場合、
colorが変な色になります。ポリゴン毎にテクスチャの存在の可否を指定する変数を渡して
if(texExist)
color = TexColor * PolColor;
else
color = PolColor;
とすれば意図通りの動作はするのですが、このような処理にするしかないのでしょうか?
TexColor = tex2D(tex, texcoord);// テクスチャの色
PolColor = Lighting();// ポリゴンの色
color = TexColor * PolColor;
}
Cgのフラグメントシェーダの色々省略したコードなのですが、テクスチャをマッピングしないポリゴンがある場合、
colorが変な色になります。ポリゴン毎にテクスチャの存在の可否を指定する変数を渡して
if(texExist)
color = TexColor * PolColor;
else
color = PolColor;
とすれば意図通りの動作はするのですが、このような処理にするしかないのでしょうか?
613デフォルトの名無しさん
2008/02/05(火) 00:55:33 テクスチャ設定してないのにテクスチャ読めと命令してるんだから変な色になるのは当然だろ
テクスチャ無い時はサンプリングしないって分岐はごく自然な処理だと思うが
他にどうなって欲しいてっんだ?
テクスチャ無い時はサンプリングしないって分岐はごく自然な処理だと思うが
他にどうなって欲しいてっんだ?
614デフォルトの名無しさん
2008/02/05(火) 01:01:02 >>612
分岐処理が嫌だったらシェーダ2種類作ったらいいんじゃない?
分岐処理が嫌だったらシェーダ2種類作ったらいいんじゃない?
615デフォルトの名無しさん
2008/02/05(火) 07:51:42 適当に1x1の白テクスチャでも読ませればおk
616デフォルトの名無しさん
2008/02/05(火) 17:49:45617デフォルトの名無しさん
2008/02/05(火) 23:11:26 >シェーダ2種類作ったらいいんじゃない?
2種類をCgランタイムでどう呼び出すのかわからない
2種類をCgランタイムでどう呼び出すのかわからない
618デフォルトの名無しさん
2008/02/06(水) 01:23:24 テクスチャの有り無しでcgBindProgramに渡すプログラムを変えればいいだけだよ
619612
2008/02/06(水) 01:52:25 >>615
>>618
今は
cgGLBindProgram(); sceneGraph->DrawAll(); cgGLBindProgram(NULL);
こんな感じで全部のオブジェクトを一気に描画してるので,
シェーダ2種類作ってポリゴン毎にバインドするシェーダを切り替えるのは
遅くなっちゃうのかなと思って他にいい方法がないか考えてました。
頭で考えてただけで実際遅くなるかとかの検証はしてなかったのでやってみます。
書いてて思ったんですけど同じマテリアル(テクスチャ)を使う
ポリゴンをグルーピングしていればシェーダ切り替える方法は
使いやすそうですね。
どっちのやり方も参考になりました、ありがとうございます。
>>618
今は
cgGLBindProgram(); sceneGraph->DrawAll(); cgGLBindProgram(NULL);
こんな感じで全部のオブジェクトを一気に描画してるので,
シェーダ2種類作ってポリゴン毎にバインドするシェーダを切り替えるのは
遅くなっちゃうのかなと思って他にいい方法がないか考えてました。
頭で考えてただけで実際遅くなるかとかの検証はしてなかったのでやってみます。
書いてて思ったんですけど同じマテリアル(テクスチャ)を使う
ポリゴンをグルーピングしていればシェーダ切り替える方法は
使いやすそうですね。
どっちのやり方も参考になりました、ありがとうございます。
620デフォルトの名無しさん
2008/02/06(水) 02:11:20 描画時にマテリアルでソートするのは高速化の常套手段だね
621デフォルトの名無しさん
2008/06/24(火) 00:36:30 保守
622デフォルトの名無しさん
2008/07/19(土) 13:22:03 コンパイルすると
Error: 'C:\A\TOOLS\BCC\LIB\GLU32.LIB' contains invalid OMF record, type 0x21 (po
ssibly COFF)
と出ます
IMPLIB glut32.lib glut32.dll
をして、glut32.libを上書きしてるんですがダメです
Error: 'C:\A\TOOLS\BCC\LIB\GLU32.LIB' contains invalid OMF record, type 0x21 (po
ssibly COFF)
と出ます
IMPLIB glut32.lib glut32.dll
をして、glut32.libを上書きしてるんですがダメです
623デフォルトの名無しさん
2008/07/19(土) 13:38:31 エラーをよく読め・・・ glut32.lib じゃないだろう
624デフォルトの名無しさん
2008/07/19(土) 15:44:55 ありがとうございます。解決しました。
625デフォルトの名無しさん
2008/08/06(水) 19:48:28 ttp://www.kumaryu.net/cgi-bin/diary/?date=20080804#p02
S3本気だなー
ATIはいつ本気出すんだー
S3本気だなー
ATIはいつ本気出すんだー
626デフォルトの名無しさん
2008/08/06(水) 22:57:14 Khronos BOFs
* OpenGL 3.0 Specification Overview
* OpenGL hardware and driver plans - AMD, Intel, NVIDIA
* Developer's perspective on OpenGL 3.0
* The new Khronos OpenCL Working Group and how that affects OpenGL
* and more...
AMDもいつまでも黙ってはいないぞ
どちらかと言えば微妙な拡張よりこっちの方が期待したいし
できればIntelもな…
* OpenGL 3.0 Specification Overview
* OpenGL hardware and driver plans - AMD, Intel, NVIDIA
* Developer's perspective on OpenGL 3.0
* The new Khronos OpenCL Working Group and how that affects OpenGL
* and more...
AMDもいつまでも黙ってはいないぞ
どちらかと言えば微妙な拡張よりこっちの方が期待したいし
できればIntelもな…
627デフォルトの名無しさん
2008/08/06(水) 23:30:50 AMDはさっさと拡張の仕様を公開しろ。
ドキュメントがない拡張が何個溜まってると思ってるんだ。
ドキュメントがない拡張が何個溜まってると思ってるんだ。
628デフォルトの名無しさん
2008/08/12(火) 10:25:36 OpenGL3.0情報
ttp://www.opengl.org/news/permalink/the_khronos_group_announced_today_it_has_released_the_opengl_30_specificati/
ttp://www.khronos.org/news/press/releases/khronos_releases_opengl_30_specifications_to_support_latest_generations_of/
ttp://www.opengl.org/news/permalink/the_khronos_group_announced_today_it_has_released_the_opengl_30_specificati/
ttp://www.khronos.org/news/press/releases/khronos_releases_opengl_30_specifications_to_support_latest_generations_of/
629デフォルトの名無しさん
2008/08/12(火) 11:31:52 opengl.orgのmessage boardでは不満の嵐だな
「散々待たせといて結局これかよ!」みたいな
「散々待たせといて結局これかよ!」みたいな
630デフォルトの名無しさん
2008/08/12(火) 12:40:54 せめて3.0で削除された仕様は書かないでおいてくれると読み易かったんだがな
あとせめてテクスチャ回りを整理してほしかった
あとせめてテクスチャ回りを整理してほしかった
631デフォルトの名無しさん
2008/09/20(土) 13:53:54632デフォルトの名無しさん
2008/09/21(日) 18:43:03 やっとまともなライセンスになったか
633デフォルトの名無しさん
2008/10/24(金) 03:30:59 保守
634デフォルトの名無しさん
2008/10/29(水) 15:59:00 >>83
鹿バネ(´∀`)
鹿バネ(´∀`)
635デフォルトの名無しさん
2008/11/30(日) 19:03:58 OpenGLnのmain関数をスレッドで呼び出して使おうと思っているのだが、display()関数のオブジェクトカラーを引数で渡した値で更新したいんだ。
マルチスレッドで値を渡すことはできるのだが、OpenGL側でどうやって、display()関数に値を綿したらいいのかわらかない。
つまり、
プログラム1 --> OpenGLプログラム(スレッドで生成)
▼ ▼
値の更新 色変更
▼ ▼
値の更新 色変更
… …
ってことをしたいんだ。
マルチスレッドで値を渡すことはできるのだが、OpenGL側でどうやって、display()関数に値を綿したらいいのかわらかない。
つまり、
プログラム1 --> OpenGLプログラム(スレッドで生成)
▼ ▼
値の更新 色変更
▼ ▼
値の更新 色変更
… …
ってことをしたいんだ。
636デフォルトの名無しさん
2008/12/10(水) 22:54:50 Snow Leopardの準備は万端? 「OpenCL 1.0」の仕様が公開[08/12/09]
http://pc11.2ch.net/test/read.cgi/pcnews/1228830599/
http://pc11.2ch.net/test/read.cgi/pcnews/1228830599/
637デフォルトの名無しさん
2008/12/21(日) 12:01:23 glRotatef(90,1,0,0);
glutSolidCube(1.0);
このあとに
glTranslatefかglrotatefを適当にいれて
glSolidSphere(1.0,10,10);
より立方体の回転起動に垂直の起動で球が回転するようにするには
どうやればいいですか?
glutSolidCube(1.0);
このあとに
glTranslatefかglrotatefを適当にいれて
glSolidSphere(1.0,10,10);
より立方体の回転起動に垂直の起動で球が回転するようにするには
どうやればいいですか?
638デフォルトの名無しさん
2008/12/21(日) 12:09:47 まずは日本語で頼む
639デフォルトの名無しさん
2008/12/21(日) 14:05:21 glRotatefとglTranslatefを組み合わせてx軸周りの回転移動をy軸周りの回転に
させることはできますか?
glPopMatrix()とglPushMatrix()を使わないで
させることはできますか?
glPopMatrix()とglPushMatrix()を使わないで
640デフォルトの名無しさん
2008/12/22(月) 01:17:00 GLSLで色を出力するとき、というか、OpenGLの質問なんですが、
OpenGLでは各色の値の範囲が0〜1ですが、これってGDI上での0〜255の範囲に
リニアに一致する訳じゃないのでしょうか?
256*256のコンテキストを作り、全面ぴったりのポリゴンを張って、フラグメントシェーダーから
gl_FragColor = vec4(gl_TexCoord[0].s, gl_TexCoord[0].s, gl_TexCoord[0].s, gl_TexCoord[0].t);
として色とアルファの増え方を見てみたのですが、どうもジャギっててきれいに0〜255の範囲で
増えてるわけではないみたいなのですが…
コンテキストと同じサイズのGL_NEARESTなテクスチャを張った場合はちゃんと256*256の範囲
全体が張られているのでテクスチャ座標がずれてるわけでもないみたいです。
OpenGLでは各色の値の範囲が0〜1ですが、これってGDI上での0〜255の範囲に
リニアに一致する訳じゃないのでしょうか?
256*256のコンテキストを作り、全面ぴったりのポリゴンを張って、フラグメントシェーダーから
gl_FragColor = vec4(gl_TexCoord[0].s, gl_TexCoord[0].s, gl_TexCoord[0].s, gl_TexCoord[0].t);
として色とアルファの増え方を見てみたのですが、どうもジャギっててきれいに0〜255の範囲で
増えてるわけではないみたいなのですが…
コンテキストと同じサイズのGL_NEARESTなテクスチャを張った場合はちゃんと256*256の範囲
全体が張られているのでテクスチャ座標がずれてるわけでもないみたいです。
641デフォルトの名無しさん
2008/12/22(月) 01:21:03 あだ、ここGL "2.0"スレだった orz
GLスレの方に行ってきます orz
スレ汚しすみませんでした…
GLスレの方に行ってきます orz
スレ汚しすみませんでした…
642デフォルトの名無しさん
2008/12/29(月) 03:29:54 DirectX ばっかりで OpenGL なんて一生触ることは無いと思ってたが
Linux絡みでJOGLで開発することになった
調べてみたら、OpenGL も色々面白そうだな
Linux絡みでJOGLで開発することになった
調べてみたら、OpenGL も色々面白そうだな
643デフォルトの名無しさん
2008/12/29(月) 04:52:15 名前が違うだけで、実行するハードウェアの中身に対するフォーマットは一緒だからな。
644デフォルトの名無しさん
2009/02/15(日) 18:51:58 保守
645デフォルトの名無しさん
2009/04/28(火) 09:13:36 OpenGL Vertex Buffer Objectについての質問があります。
glBufferData()で,頂点データをグラフィックボードのメモリに転送(確保?)した後,
プログラム側の頂点データが更新されたとします。
この更新された頂点データを,グラフィックボードのメモリに転送するわけですが,どのようにすればよいのでしょうか?
いったんglDeleteBuffer()でバッファを消して,新たにバッファを作成し,glBufferData()で転送しなおすのでしょうか?
それとも,既に確保されている領域に上書きするような方法があるのでしょうか?
glBufferData()で,頂点データをグラフィックボードのメモリに転送(確保?)した後,
プログラム側の頂点データが更新されたとします。
この更新された頂点データを,グラフィックボードのメモリに転送するわけですが,どのようにすればよいのでしょうか?
いったんglDeleteBuffer()でバッファを消して,新たにバッファを作成し,glBufferData()で転送しなおすのでしょうか?
それとも,既に確保されている領域に上書きするような方法があるのでしょうか?
646デフォルトの名無しさん
2009/04/28(火) 22:43:29 ・glBufferDataでもう一回転送する
・glMapBufferでDMA転送する
・glMapBufferRangeで更新が必要な部分だけDMA転送する
・いっそデータの更新をCPU側でなくTransform Feedbackを使ってGPU側で行う
・glMapBufferでDMA転送する
・glMapBufferRangeで更新が必要な部分だけDMA転送する
・いっそデータの更新をCPU側でなくTransform Feedbackを使ってGPU側で行う
647デフォルトの名無しさん
2009/04/29(水) 00:17:46 glTexSubImage()でテクスチャの一部を書き換えられるのと同じように、
VBOにも glBufferSubData() があるよ。
VBOにも glBufferSubData() があるよ。
648デフォルトの名無しさん
2009/04/29(水) 00:30:30 書き忘れ。
Buffer全体を書き換えたい、あるいはBufferのサイズを変えたいなら、
わざわざDeleteしなくても、普通に glBufferData() で上書きしてやればいいよ。
これも考え方はテクスチャと同じ。サイズが変わるとパフォーマンスは落ちるでしょうね。
Buffer全体を書き換えたい、あるいはBufferのサイズを変えたいなら、
わざわざDeleteしなくても、普通に glBufferData() で上書きしてやればいいよ。
これも考え方はテクスチャと同じ。サイズが変わるとパフォーマンスは落ちるでしょうね。
649645
2009/04/29(水) 02:21:55 なるほど。色々な手段があるのですね。
ありがとうございました。
ありがとうございました。
650デフォルトの名無しさん
2009/06/06(土) 13:33:00 例えば、direct x使ったPCゲームで全画面表示に切り替わるけど、
openglでも同じことできる?
シミュレータが作りたいんだけど。
openglでも同じことできる?
シミュレータが作りたいんだけど。
651デフォルトの名無しさん
2009/06/06(土) 15:02:52 GLUTでさくっと出来るだろ
652デフォルトの名無しさん
2009/06/18(木) 15:32:01 最近は、アフィン変換はつかわずにクォータニオンってのが主流なの?
653デフォルトの名無しさん
2009/06/18(木) 16:36:03 試しにZ軸によるs度の回転(右手座標系)を計算してみたら
sin(s)*y-2*(x/2-(cos(s)*x)/2)+x,-2*(y/2-(cos(s)*y)/2)+y-sin(s)*x
簡約すると
x' = sin(s)*y+cos(s)*x
y' = cos(s)*y-sin(s)*x
z' = z
となって普通の回転行列の計算と同じになた
普通に軸にそって回転するだけなら
通常の回転行列を使う方が良いのかな
sin(s)*y-2*(x/2-(cos(s)*x)/2)+x,-2*(y/2-(cos(s)*y)/2)+y-sin(s)*x
簡約すると
x' = sin(s)*y+cos(s)*x
y' = cos(s)*y-sin(s)*x
z' = z
となって普通の回転行列の計算と同じになた
普通に軸にそって回転するだけなら
通常の回転行列を使う方が良いのかな
654デフォルトの名無しさん
2009/07/04(土) 17:45:21 軸まわりの回転ならsin、cosの手計算でもいいと思うが、任意の軸まわり回転をオイラー角でやるとジンバルロックっていう問題が出てくる。
あとクォータニオンを使う一番のメリットは2つの回転位置の補完を球面線形補完による演算で求められることじゃないかと思う。
あとクォータニオンを使う一番のメリットは2つの回転位置の補完を球面線形補完による演算で求められることじゃないかと思う。
655デフォルトの名無しさん
2009/07/09(木) 10:28:04 いまさらopen glとかVRMLとか意味あるの?
656デフォルトの名無しさん
2009/07/09(木) 10:31:43 OpenGLとVRMLを並列で語るとか意味あるの?
657デフォルトの名無しさん
2009/07/09(木) 22:53:34 VRMLは後継が出てたはずだよね、名前忘れたけど
まあ今更OpenGLとかDirect3Dとか言っても意味ないわな
中身ほとんどいっしょだし
まあ今更OpenGLとかDirect3Dとか言っても意味ないわな
中身ほとんどいっしょだし
658デフォルトの名無しさん
2009/07/09(木) 23:13:48 いっしょじゃねぇよハゲ
659デフォルトの名無しさん
2009/07/10(金) 00:44:32 どこが違うのかkwsk
660デフォルトの名無しさん
2009/07/10(金) 01:13:00 Wikipedia読め
661デフォルトの名無しさん
2009/07/10(金) 04:28:00 流れとはまったく関係ないどころかスレとも関係ないが
PowerVRがなんだかんだでまた注目されつつあるな
PowerVRがなんだかんだでまた注目されつつあるな
662デフォルトの名無しさん
2009/09/13(日) 18:42:10 その PowerVR について質問させて下さい。
iPhone3GS や iPod touch 3G で使われているらしい PowerVR SGX を内蔵し、
Vaio Type P や Dell Inspiron Mini 10/12 等のネットブックで採用されている
intel GMA500 ですが、
カタログスペック上は OpenGL2.0 対応を謳っているものの、Windows XP/Vista 上では
glGetString(GL_VENDER) が Microsoft、
glGetString(GL_RENDERER) が GDI Generic、
glGetString(GL_VERSION) が 1.1.0 を返してきます。
Intel で配布されている開発者向けの 2009/9/13 時点の最新ドライバを入れても同じです。
Vista 32bit 用: ttp://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17995&lang=jpn
XP 32bit用: ttp://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17992&lang=jpn
http://software.intel.com/en-us/blogs/2008/10/22/where-can-you-find-a-mid/
こちらの阿鼻叫喚スレのように、GMA500 での Windows 向けドライバによる
OpenGL2.0 サポートは「ない」と言うしかないのでしょうか…。
また、今後のサポート予定について事情をどなたかご存知でしたら教えて頂けると嬉しいです。
iPhone3GS や iPod touch 3G で使われているらしい PowerVR SGX を内蔵し、
Vaio Type P や Dell Inspiron Mini 10/12 等のネットブックで採用されている
intel GMA500 ですが、
カタログスペック上は OpenGL2.0 対応を謳っているものの、Windows XP/Vista 上では
glGetString(GL_VENDER) が Microsoft、
glGetString(GL_RENDERER) が GDI Generic、
glGetString(GL_VERSION) が 1.1.0 を返してきます。
Intel で配布されている開発者向けの 2009/9/13 時点の最新ドライバを入れても同じです。
Vista 32bit 用: ttp://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17995&lang=jpn
XP 32bit用: ttp://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17992&lang=jpn
http://software.intel.com/en-us/blogs/2008/10/22/where-can-you-find-a-mid/
こちらの阿鼻叫喚スレのように、GMA500 での Windows 向けドライバによる
OpenGL2.0 サポートは「ない」と言うしかないのでしょうか…。
また、今後のサポート予定について事情をどなたかご存知でしたら教えて頂けると嬉しいです。
663デフォルトの名無しさん
2009/09/13(日) 19:03:06 ちゃんとOpenGLのコンテキストを設定した後でglGetStringを実行してるんだろうな?
GDI Genericじゃ2.0以前にソフトウェアレンダリングだぞ。
GDI Genericじゃ2.0以前にソフトウェアレンダリングだぞ。
664デフォルトの名無しさん
2009/09/13(日) 20:14:58 >>663
はい、ChoosePixelFormat(), SetPixelFormat(), wglCreateContext(), wglMakeCurrent() が
成功したことを確認してから glGetString() を実行しています。
(しないと手元の環境では NULL が返ってきました)
ttp://udetaco.ddo.jp/OpenGL-desktop-overlay-test/
VisualStudio2005用プロジェクト一式とバイナリをこちらに置いてみましたので、
ご確認頂ければ幸いです。
testDesktopOverlay-20090913.7z を解凍した後、
testDesktopOverlay\application\RetrieveOpenGLInfo.cpp 内の
RetrieveOpenGLInfo::retrieve() をご覧下さい。
はい、ChoosePixelFormat(), SetPixelFormat(), wglCreateContext(), wglMakeCurrent() が
成功したことを確認してから glGetString() を実行しています。
(しないと手元の環境では NULL が返ってきました)
ttp://udetaco.ddo.jp/OpenGL-desktop-overlay-test/
VisualStudio2005用プロジェクト一式とバイナリをこちらに置いてみましたので、
ご確認頂ければ幸いです。
testDesktopOverlay-20090913.7z を解凍した後、
testDesktopOverlay\application\RetrieveOpenGLInfo.cpp 内の
RetrieveOpenGLInfo::retrieve() をご覧下さい。
665デフォルトの名無しさん
2009/09/13(日) 20:27:05 glInfo.exeとかでチェックしても、GMA500はGDI Genericを返すよね・・・
666デフォルトの名無しさん
2009/09/13(日) 21:33:06 オンボーロどころかまともな素材をダメにするとは・・・Intel始まりすぎだろ。
667デフォルトの名無しさん
2009/09/13(日) 23:01:46 GMA500はタイミングによってはテクスチャのバインドに失敗する
(glBindTextureが正常に動かない)こともあったりして、最悪だよ。
OpenGL2.0サポート?無理無理。
あれはOpenGL1.1すらまともにサポートできてない。
(glBindTextureが正常に動かない)こともあったりして、最悪だよ。
OpenGL2.0サポート?無理無理。
あれはOpenGL1.1すらまともにサポートできてない。
668デフォルトの名無しさん
2009/09/13(日) 23:17:09 ttp://www.gamedev.net/community/forums/topic.asp?topic_id=545140
こちらでも OpenGL 開発を期待して netbook を買った人が
ドライバの GL 未サポートに怒ってる模様…。
>>667
glGetString(GL_RENDERER) は GDI Generic よりマシな名前を返してきますか?
こちらでも OpenGL 開発を期待して netbook を買った人が
ドライバの GL 未サポートに怒ってる模様…。
>>667
glGetString(GL_RENDERER) は GDI Generic よりマシな名前を返してきますか?
669デフォルトの名無しさん
2009/12/21(月) 14:14:17 (´・ω・`)ぶるっちょぽかぽかだお
670デフォルトの名無しさん
2009/12/24(木) 21:58:16 Mac OS Xでやってる方はいらっしゃいませんでしょうか?
テクスチャの扱いが違っていて困っています。
テクスチャの扱いが違っていて困っています。
671デフォルトの名無しさん
2009/12/24(木) 22:12:47 自己解決しました。
非2^nサイズのテクスチャの生成に
GL_TEXTURE_RECTANGLE_EXT
を使っていたのですが、これを使うとだめだったようです。
非2^nサイズのテクスチャの生成に
GL_TEXTURE_RECTANGLE_EXT
を使っていたのですが、これを使うとだめだったようです。
672デフォルトの名無しさん
2009/12/25(金) 06:52:27 >>671
2.0以降なら2^nでなくても良かったような。
GL_TEXTURE_RECTANGLE_EXT はMIPMAP生成出来ないから
GL_TEXTURE_MIN_FILTER を GL_NEAREST にしないと駄目だったような。
2.0以降なら2^nでなくても良かったような。
GL_TEXTURE_RECTANGLE_EXT はMIPMAP生成出来ないから
GL_TEXTURE_MIN_FILTER を GL_NEAREST にしないと駄目だったような。
673デフォルトの名無しさん
2010/02/26(金) 21:21:53 OpenGL 3.2はやんないの?
機能省略かれちゃった奴
機能省略かれちゃった奴
674デフォルトの名無しさん
2010/02/27(土) 11:42:14 3.2はどっちかというと省かれるはずだったのが戻ってきちゃったんじゃないか?
675デフォルトの名無しさん
2010/02/27(土) 17:06:52 ですな。非推奨だが互換性を確保した、というような趣旨のアップデート。
676デフォルトの名無しさん
2010/03/03(水) 01:26:49 >>675
考えて見れば、三角形一枚書くのにシェーダ書いてVBO作って…じゃ、
CG屋やゲーム屋以外の、「単に可視化プログラムを書きたい研究者や技術者」が
使わなくなってしまうからなあ。
自分もそのタイプのプログラマなんだが、OpenGLはそういう方面の需要がDirectXに比べて大きいと思う。
考えて見れば、三角形一枚書くのにシェーダ書いてVBO作って…じゃ、
CG屋やゲーム屋以外の、「単に可視化プログラムを書きたい研究者や技術者」が
使わなくなってしまうからなあ。
自分もそのタイプのプログラマなんだが、OpenGLはそういう方面の需要がDirectXに比べて大きいと思う。
677デフォルトの名無しさん
2010/03/04(木) 23:47:14 「単に可視化プログラムを書きたい研究者や技術者」
はopenGLを直接使わずにハイレベルなライブラリ(open scene graph等)を使えばええんでない?
Compatibility Profilesは古いコードを使うためとか
openglを勉強し直すのが面倒な人とかのためにあるんじゃないだろうか。
はopenGLを直接使わずにハイレベルなライブラリ(open scene graph等)を使えばええんでない?
Compatibility Profilesは古いコードを使うためとか
openglを勉強し直すのが面倒な人とかのためにあるんじゃないだろうか。
678デフォルトの名無しさん
2010/03/05(金) 00:37:24 最近OpenSceneGraphさわり始めたけど、ホントGLUTとかで遊んでた全てが無駄に見えてきたよ。
679デフォルトの名無しさん
2010/03/07(日) 19:02:53 まじか
ちよっとやってみるかな
ちよっとやってみるかな
680デフォルトの名無しさん
2010/03/07(日) 21:25:10 OpenSceneGraphによる「手抜き」OpenGL入門
が必要になるな
が必要になるな
681デフォルトの名無しさん
2010/05/06(木) 14:31:11 OpenGLで図を作成して、latexの論文に導入したい者ですが、質問よろしいでしょうか?
GL2PSというものを用いて、epsで図を出力することには成功したのですが、
文字列も一緒に描画したいと思い、gl2psTextという関数をつかってみたところ、
フォントがしょぼくて、論文に用いるには抵抗があります。
Times New Roman で文字列を描画したいのですが、どなたか解決法をご存知ないでしょうか?
GL2PSがマイナーなのか、ぐぐっても中々情報が出てきません。
よろしくお願いします。
GL2PSというものを用いて、epsで図を出力することには成功したのですが、
文字列も一緒に描画したいと思い、gl2psTextという関数をつかってみたところ、
フォントがしょぼくて、論文に用いるには抵抗があります。
Times New Roman で文字列を描画したいのですが、どなたか解決法をご存知ないでしょうか?
GL2PSがマイナーなのか、ぐぐっても中々情報が出てきません。
よろしくお願いします。
682681
2010/05/06(木) 14:48:58 サーセン。自己解決しました
GLint gl2psText( const char *string, const char *fontname, GLint fontsize );
が宣言なので、
GLint gl2psText( "X", "Times-Roman", 24 );
みたいに使うみたいです。
GLint gl2psText( const char *string, const char *fontname, GLint fontsize );
が宣言なので、
GLint gl2psText( "X", "Times-Roman", 24 );
みたいに使うみたいです。
683デフォルトの名無しさん
2010/07/22(木) 19:19:28 なんでDirectX使わないの?
このスレの人たちは何をターゲットにしてる人なの?
このスレの人たちは何をターゲットにしてる人なの?
684デフォルトの名無しさん
2010/07/22(木) 19:40:26 全宇宙
685デフォルトの名無しさん
2010/07/23(金) 05:40:39 Direct3DはWindows以外だと使えないからなあ
Windowsでしかプログラミングしないぜってなら別にいいんだが
Windowsでしかプログラミングしないぜってなら別にいいんだが
686デフォルトの名無しさん
2010/08/03(火) 03:46:44 gles2.0で
glPushMatrixやると落ちるんだけど
なくなったの?
glPushMatrixやると落ちるんだけど
なくなったの?
687デフォルトの名無しさん
2010/08/03(火) 07:28:36 うん、無いよ
標準の行列自体が無いから全部シェーダのuniform変数に渡して使う
標準の行列自体が無いから全部シェーダのuniform変数に渡して使う
688デフォルトの名無しさん
2010/08/09(月) 14:20:53689デフォルトの名無しさん
2010/11/06(土) 23:56:54 すみません、OpenGL(GLSL)のシェーダプログラムの質問したいのですが、ここでしても良いですか?
690デフォルトの名無しさん
2010/11/07(日) 02:27:50 自己解決しました。
有難うございました。
有難うございました。
691デフォルトの名無しさん
2010/11/24(水) 15:46:52 objファイルを読み込んで使いたいのですが、
自分でライブラリ書くしかないのでしょうか・・?
自分でライブラリ書くしかないのでしょうか・・?
692デフォルトの名無しさん
2010/11/24(水) 21:17:39 >>691
俺は自分で書いた
俺は自分で書いた
693デフォルトの名無しさん
2010/11/24(水) 23:44:43 objローダはもう3回くらい書いたなぁ・・・
パーサ部分はまぁ再利用できるとしても、読込先が変わると、ね。
パーサ部分はまぁ再利用できるとしても、読込先が変わると、ね。
レスを投稿する
ニュース
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 [蚤の市★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」 [ぐれ★]
- 【高市リスク】立民・小西洋之参院議員「高市総理がとんでもない安全保障オンチで外交オンチ」 [ぐれ★]
- 『DOWNTOWN+』会員数50万人突破で見えてきた 松本人志の“月収4ケタ万円”驚愕収入 [阿弥陀ヶ峰★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 ★2 [ぐれ★]
- 夜勤終わり風呂なう
- 中国による連日の対日制裁、ついに途切れる… 高市許されたか? [271912485]
- 日本人を襲ってきたのは「自衛隊」だった [805596214]
- 【悲報】東京都民さん、20過ぎてるのに自転車に乗っててて大炎上wwwwwwwwwwww女「いい歳した男で自転車に乗るのは知的障がい者だけだよ? [483447288]
- お前らの朝起きてからのルーティン教えて
- 巨乳絵師、ソシャゲのキャラに「パイズリ」の文字を巧妙に隠し話題に [435756605]
