OpenGLスレ Part14
..
369:デフォルトの名無しさん
10/04/28 02:54:11
OpenGL.org経由で
Lua as an Effect File Format for OpenGL
URLリンク(prideout.net)
ていうのを見つけたんだが、これはよさそうなので今度試して見ようと思う。
ちょっとしたシェーダとかを開発するときに
FXComposerだとglsl使えないしFeedback transformとかrender to vertex bufferとか使えないようだけど
Luaならプログラム側の関数を呼べるからいろいろできそう。
こういうのを試した事がある人いる?
Luaの代わりにpython使うのはどうだろうか。
370:デフォルトの名無しさん
10/04/29 02:46:32
ちょいと気になる一品だな。
371:デフォルトの名無しさん
10/04/29 11:34:21
思わず欲しくなる一品だな。
372:デフォルトの名無しさん
10/04/29 22:53:50
GLSL書くときはAMD RenderMonkey使ってる
373:デフォルトの名無しさん
10/04/29 22:57:18
あれOpenGL2.1、つまりGLSL1.2くらいまでしか対応してなくないか。
374:デフォルトの名無しさん
10/04/30 01:07:47
4.0はいつ出るのさ?
375:デフォルトの名無しさん
10/04/30 01:13:03
くそむかつくガキだなw
376:デフォルトの名無しさん
10/04/30 01:16:00
>>374
もう出てる。というかOpenGLはGPUメーカーがドライバーに含めてリリースするから4.0対応ドライバーが出た時点。
nVIDIAも最近4.0対応ドライバー出したね。
377:デフォルトの名無しさん
10/04/30 01:26:23
/ _ \
/ (※) |
|  ̄ |
ヽ /_____ヽ /
ヽ_|0l二二二二l0|_ノ
|vヽ___ノv|
(d| ・=ゝ ・=ゝ|b) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Z/ ( _ ) ヽフ < 死刑!!
/ @ @ ヽ \________
(ー―〜〜 ――)
\ ______/
てヽ_/ lo//
/( て二/l__
(┃ ⌒ 二 )_O―┴┐
|┐ー┤ | |\O O|
| |_n_)┘  ̄ ̄
378:デフォルトの名無しさん
10/05/01 02:16:08
3.3はテッセレーション無し?
379:デフォルトの名無しさん
10/05/01 13:20:24
テッセレーションはハードウェアサポートがいるから3.3では無理だろうな。
380:デフォルトの名無しさん
10/05/02 09:46:08
d3d10以降がXP非対応等の問題で普及してない今、GL3以降の日本語解説本の需要が地味にあるとおもうんだけど誰か書いてくれないかな
381:デフォルトの名無しさん
10/05/02 09:58:15
DX9で不十分な層って相当限られるんじゃないの…
382:デフォルトの名無しさん
10/05/02 10:02:53
DX9で何が不十分なんだろう
カタログ上の文言じゃなくて、実際に自分で何を作りたくて、具体的に何が不十分なんだ
383:デフォルトの名無しさん
10/05/02 11:13:07
ジオメトリシェーダとか、ハルシェーダなんかが使えないところ。
384:デフォルトの名無しさん
10/05/02 11:25:51
>>383
だからそれはカタログ上の文言・・・ というか、DX10以降で採用された物であって、
実際に何を作ろうとして、具体的に何が不十分なんだ?って話。
ジオメトリシェーダとハルシェーダを使いたい 場合には不十分だろうけど、それは何かをしたい時の手段だろって話
385:デフォルトの名無しさん
10/05/02 11:39:13
狼男が主人公のゲームをつくりたいんだよ。
月を見た男の身体がリアルにモーフィングするゲームを作りたいんだよ。
毛をうじゃうじゃ生やしたいんだよ。臨場感を出したいんだよ。
だから、ジオメトリシェーダは必須なんだよ、文句あっか、ハゲ!
386:デフォルトの名無しさん
10/05/02 11:40:28
学習用に不十分
387:デフォルトの名無しさん
10/05/02 11:45:15
>>385
他の手段でやれよ
>>386
なんの学習?
388:デフォルトの名無しさん
10/05/02 11:51:14
機能より使う手間と実績のが選ぶ理由としてでかいと思うけど
リファレンスは有料・サンプルが英語ばかりじゃさすがに比較対象にならん
本書くなら今ならスマートフォンとかいいんじゃないの。Androidの本にさわりだけ載ってた。
389:デフォルトの名無しさん
10/05/02 12:06:38
>>387
他の手段って、例えばどんな?
速度も質も損なわずにだぞ。
390:デフォルトの名無しさん
10/05/02 12:20:45
>>389
月を見た男の身体から毛をうじゃうじゃ生えてくるリアルなモーフィング、
で、速度も質も損なわずに、としか書いてないから
どうとでも他の手段や方法で表現出来るだろ?って話
そしてジオメトリシェーダじゃないと絶対に絶対に絶対に不可能だと言うなら、それ使えばいいじゃない
>ジオメトリシェーダとハルシェーダを使いたい 場合には不十分だろうけど
と書いたのは、それが絶対に他の手段では(色んな意味で)不可能で、本当に必須ならば
DX9 では不十分だけどって話だ
391:デフォルトの名無しさん
10/05/02 12:28:07
じゃぁDX5でもいいじゃん
392:デフォルトの名無しさん
10/05/02 12:40:12
別に実装の必要とか無くとも技術者的な好奇心で最新機能を触りたいってのは普通にあるじゃん
そんなに必死になって否定する必要もないだろ
393:デフォルトの名無しさん
10/05/02 12:47:50
>>392
別に否定なんてしてないじゃん
394:デフォルトの名無しさん
10/05/02 15:12:26
レスする必要が無いと言いたいのだろう。
395:デフォルトの名無しさん
10/05/02 15:28:14
いつからDirectXスレになった?
396:デフォルトの名無しさん
10/05/02 16:23:22
OpenGLスレなら
GL_ARB_geometry_shader4だとか
GL_ARB_draw_instancedだとか
GL_ARB_texture_buffer_objectだとか
そういうOpenGL用語を使って議論すべきじゃね?
Direct3D9の代わりにOpenGL2.x
Direct3D10の代わりにOpenGL3.x
と言えばええんでない?
397:デフォルトの名無しさん
10/05/07 21:20:17
マウスでクリックした位置から
パーティクルを発生させるような、サンプルご存知ないですか?
openglでのマウスイベント系の情報が少なくて…参考にしたく
398:デフォルトの名無しさん
10/05/07 21:25:23
OpenGLと何の関係がある?
399:デフォルトの名無しさん
10/05/07 21:32:34
猿でも分かるSDL使えよ
400:デフォルトの名無しさん
10/05/07 21:34:50
多分やりたい事の絵だけが頭にあって、それが実際にはどういうもので、どういう事で、
目の前のテクノロジやライブラリはどこまでの何なのかが整理も出来ていない状態に見える。
OpenGLって グラフィクス・ライブラリだって知ってるんだろうか。
あと、関連ライブラリに GLUTとかあるのは知ってるんだろうか。 ※ここまでがマウスイベントの話
あと、パーティクルって具体的にどういう作業で実現する物か知ってるんだろうか
401:デフォルトの名無しさん
10/05/07 21:36:35
やりたい事の絵だけが頭にある状態で、それの丸ごと書かれたサンプルが欲しいって言う奴は
大抵コピペで済ませようとしてるだけなので、多分意味なんてわかってない
402:デフォルトの名無しさん
10/05/08 00:14:15
まぁはじめはみんなそんなもんさ。
>>397
マウスだけ、
パーティクルだけ、ならいくらでも
サンプル転がっているよ。
そこからは自習の時間だ!
403:デフォルトの名無しさん
10/05/08 06:36:53
視界の表現で、「重なりあう可能性のある」複数のポリゴンが必要な領域を加算合成かなにかで
「均一に」明るくしようとしたらどういう方法があるかな?
イメージとしては舞台をスポットライト2個で照らすんだけど、
1個だけが照らしてる部分も2個重なってる部分も同じ明るさにしたい感じ。
404:デフォルトの名無しさん
10/05/08 07:07:56
>>403
ステンシルバッファにスポットライトのイメージ焼くんじゃダメなの?
405:デフォルトの名無しさん
10/05/08 07:31:57
>>404
そうか、ステンシルバッファってこういう時に使うんだね。使ったことなかったよ。
使ってみる。サンキュー。
406:デフォルトの名無しさん
10/05/16 22:29:43
どなたかUbuntuでOpenGL使っている方はいますでしょうか
パッケージを入れたはいいのですが
サンプルを動かした所
本来赤から青へのグラデーションパターンが生成されるはずが
黄緑から赤へのグラデーションパターンが生成されてしまいます。
更にウインドウも生成されません。
解決方法を教えていただけないでしょうか?
バージョンは9.04で
入れたパッケージは
freeglut3 freeglut3-dbg freeglut3-dev
libglut3-dev libglew1.5-dev libgtkglext1-dev
です
407:デフォルトの名無しさん
10/05/17 00:40:21
なんのサンプルだよ
408:デフォルトの名無しさん
10/05/17 08:50:47
>>406
俺はUbuntu9.04でも10.04でもOpenGLを使っている。
で、その情報だけではまったくわからないのでプログラムをどこかにアップしてくれ。
もしくは自分のやったことを正確に一般に使われる用語で説明してくれ。
409:デフォルトの名無しさん
10/05/18 15:33:44
URLリンク(www.opengl.org)
のページのGLUTをつかいたいのですが、どれをダウンロードしたらいいかわかりません。
教えてください。
410:デフォルトの名無しさん
10/05/18 15:42:02
そんなの知るかよwww
OSすら書かないアホに付ける薬の方が先だ。
411:デフォルトの名無しさん
10/05/18 15:44:22
すみません、OSはwindows vistaです。
urlにwindowsが入っているのでわかると思い込んでしまいました。
412:デフォルトの名無しさん
10/05/18 15:51:29
GLUT for WindowsってとこにリンクしてあるNate Robinsのページに3.7.6がある
413:デフォルトの名無しさん
10/05/18 15:54:54
imageってついているのが使う奴ですか?
414:デフォルトの名無しさん
10/05/18 15:57:39
>>412
みつけました。
ありがとうございました。
415:デフォルトの名無しさん
10/05/18 16:44:23
freeglutの方が良くないか?
windowsは知らんがLinuxだとこちらの方が主流。
URLリンク(freeglut.sourceforge.net)
416:デフォルトの名無しさん
10/05/18 17:13:04
迷うから誰か詳しい人どっちをつかったらいいか教えてください。
417:デフォルトの名無しさん
10/05/18 17:25:14
glutが使いたくて質問して答えを得たならglutを使えばいいんじゃないのか?
418:デフォルトの名無しさん
10/05/18 17:25:59
そうします。
419:406
10/05/19 00:40:25
>>407>>408
すいません。
サンプルをまず上げるべきでした。
サンプルはこれです。
URLリンク(www1.axfc.net)
420:デフォルトの名無しさん
10/05/19 02:03:34
>>419
setcolorってのがなんだかわからんけど、普通RGB順だろうから赤から緑のグラデーションで合ってるんじゃ?
赤青にしたいなら0.0を2番目にしてみたらー
つか学校の授業のサンプル?ずいぶん荒っぽいなぁ
421:デフォルトの名無しさん
10/05/19 08:45:47
>>419 森先生の所の宿題なら、このページの「2-9:実験2-3:カラーグラデーション」をそのままコピれば終わりじゃないか。
URLリンク(www.mlab.im.dendai.ac.jp)
setcolor(r,g,b)の説明を読むと、"r, g, bは赤緑青の値を格納するdouble型変数である。"
と書いてあってr,g,bは0〜255ではなく0〜1.0な。
x=0で setcolor(1,0,0)
x=511で setcolor(0,0,1)
422:デフォルトの名無しさん
10/05/19 08:48:03
ごめん提出者の名前だった。×森
423:デフォルトの名無しさん
10/05/19 14:43:54
木を見て森を見ずまさにこのことだな
424:406
10/05/19 22:04:24
>>420
弄ってみたらどうやらサンプルが間違えているようです。
ですがなぜか赤から青へのパターンが生成できませんでした。
青から緑は出来たのですが。
ウインドウの方も生成されませんし。
>>421
その課題じゃありません。
しかも試しに動かしてみたらエラーでました・・・
425:デフォルトの名無しさん
10/05/19 22:13:40
>>424 お前の感想はどうでもいい。
まず
1. 画面全部をR1色で塗りつぶす
2. 画面全部をG1色で塗りつぶす
3. 画面全部をB1色で塗りつぶす
をやってみ。お前はまず基本的な所がまったくわかっていない。
だから他人にも説明できない。
ウィンドウが生成されないならお前はどうやって色を確認してるんだ。
426:デフォルトの名無しさん
10/05/19 22:33:06
>>424
ウィンドウの生成ができないのに赤から青はどこに出てるんだよw
あとなんでどこをどう変えたら青から緑になったとか書かないの?
こと細かく書けば物好きが答えてくれるのにw
(setcolorとかincmc.hとかいう中にあんだろうけど、それがわかんないとなんともだろうが)
つか課題なら講師に聞けばいいじゃん。授業料払ってんでしょ?
427:406
10/05/19 22:39:35
>>425
setcolor(x/2, 0.0, 0.0);で黒から赤
setcolor(0.0, x/2, 0.0);で黒から青
setcolor(0.0, 0.0, x/2);で黒
でした。
ウインドウが生成されないでプログラムが動いてるって意味です。
外観の設定で視聴効果を切ればウインドウが生成されます。
パッケージが何かしら足りてないのでしょうか
428:406
10/05/19 22:46:17
>>426
勉強ですがとりわけ何かの課題ってわけじゃないです。
そもそもプログラム自体の質問がしたかったわけではなく
正常に動作しないのはUbuntuに問題があるのではないかと
(パッケージが足りない等で)考えたんですが、
Ubuntuのスレで聞いたら、プログラム板行けって言われたんで
こっちで質問したわけです。
429:デフォルトの名無しさん
10/05/19 22:46:47
俺OpenGL知らないUbun厨。>>419のサンプルがDLできないよ。
430:425
10/05/19 22:51:18
>>427
お前は何も分かっていない。他人に聞かれていることをことごとく外している。
いいからグラデーションとか考えないで画面全体を1色で塗りつぶしてみろ。
お前以外の人間はsetcolor(r,g,b)、引数は(0-255 or 0-1)だと推測しているが、
お前の説明はそれと矛盾する。通常のOpenGLではお前の言う通りには「絶対に」ならない。
一番考えられるのはお前の説明が間違えている。
お前の説明は意味不明だからソースを出せといわれている。
だからウィンドウが生成されないならお前はどうやって色を確認しているのか。
431:デフォルトの名無しさん
10/05/19 22:52:52
>>428
426だけど
linux環境ないんで想像だけどさ、(421のページから上いって課題臭いとこいってダウンロードしてincmc.h拾ってきたが)
void setcolor(r,g,b)
int r,g,b;
{
glColor3d(((double)r)/255,((double)g)/255,((double)b)/255);
}
なってんだよね。そうなってる?
最近C++ばっかで忘れちゃったんだけど、Cって引数の型チェックってしないんだっけ
だとsetcolorの引数に0.0とか渡すとスタックがずれるか?(ここが興味あったのでレスしてみた)
setcolorに渡してる 0.0 を 0 に変えてみたらどうだろうか
432:406
10/05/19 23:09:42
>>429
すいません。
もう消しちゃいました。
>>430
不精しました。すいません。
for(x=0;x<512;x++)
{
setcolor((511-x)/2, 0, x/2);
for (y=0;y<512;y++)
{
setpixel(x,y);
}
}
これ出せば分かってもらえますかね?
>だからウィンドウが生成されないならお前はどうやって色を確認しているのか。
ウインドウだけ生成されないんです。
メモ帳を開いたら外枠なくて文字打つ白地の部分だけ表示されてる見たいな感じです。
>>431
0にしてみたらちゃんとグラデーション出来ました。
433:デフォルトの名無しさん
10/05/19 23:19:18
解決してないのになぜ消した
もう知らん
434:425
10/05/19 23:29:46
>>432
何で0にして「ちゃんとグラデーション出来ました」と言うのだお前は。
0なら黒だろ。
いいからまず画面全体を1色で塗りつぶせ。
r,g,bの3回やれば全部推定できるから。
お前の説明は何をやったら何が起きたのか、さっぱりわからん。
435:デフォルトの名無しさん
10/05/19 23:42:04
406氏の中では枠のないウインドウはウインドウではないということはわかった。
こりゃエスパーも大変だな。
436:406
10/05/19 23:49:44
>>434
3回塗りつぶししましたけど
setcolor(255, 0.0, 0.0)で赤
setcolor(0.0, 255, 0.0)で青
setcolor(0.0, 0.0, 255)で黒になりました。
0.0を0で
setcolor(255, 0, 0)で赤
setcolor(0, 255, 0)で(黄)緑
setcolor(0, 0, 255)で青
と正常?に動きました。
>>435
枠をウインドウって呼ぶもんだと勝手に思い込んでました。
437:425
10/05/19 23:49:53
>>431 が正解っぽい。昔のその書き方だと型チェックをしないみたい(知らんかった……)
#include <stdio.h>
void setcolor (r,g,b)
int r, g, b;
{
printf ("r = %f\n", ((double)r)/255);
printf ("g = %f\n", ((double)g)/255);
printf ("b = %f\n", ((double)b)/255);
}
int main (int argc, char** argv)
{
setcolor (0, 0, 0.0);
return 0;
}
を表示すると、
r = 0.000000
g = 0.000000
b = 6788705.349020
bの値は毎回違う。
438:425
10/05/19 23:57:18
念のため。
setcolor (0.0, 0.0, 0.0);
のときは
r = 0.003922
g = 4240451.482353
b = 4240451.545098
原因がこれだとしてもきれいなグラデーションにはならないと思うのだが……
まあいいや、俺もこれ以上は知らん。
439:デフォルトの名無しさん
10/05/22 02:11:33
質問です。
頂点法線をスムース化したいのですが
高速な方法(GLでの)・アルゴリズムというのはあったりするのでしょうか?
基本的なやり方だと頂点を共有する面法線を調べて
平均化して頂点法線とする、という方法だと思います。
ただあまりにも計算量が多いと思うのですが
これしかやり方は無いのでしょうか?
よろしくお願いします。
440:デフォルトの名無しさん
10/05/22 02:27:02
計算量が多いって、頂点数10^10とかか?
441:デフォルトの名無しさん
10/05/22 02:32:59
速度は知らんが綺麗な平均化方法ならどこかにっと、これか
URLリンク(ci.nii.ac.jp)
とりあえずメモとして貼り付け
442:デフォルトの名無しさん
10/05/22 02:33:16
10^8ぐらいですね。
ただマイフレ動的に生成したいので
そこの部分がひっかかるのです。
443:デフォルトの名無しさん
10/05/22 02:43:05
>>441
有り難うございます。
ざっと目を通してみましたが
球面に近似することで正確な法線がとれる理由がイマイチ理解が追いつきませんw
まだ実装はしていないので速度の点は何とも言えませんが
凸面形状に限っての論文のようで
不定形モデルである自分の場合では上手く使えないかも知れません。
とりあえず簡単に試してみようかと思います。
>>442
自己レス
10^7ですね。
8は限界テスト中にで出そうとしたデータでした。
メモリ消費が半端ない。
444:デフォルトの名無しさん
10/05/22 14:00:32
1000万頂点で毎フレーム動的計算って、
最終的にはどれくらいの速度を目指してるの?
445:デフォルトの名無しさん
10/05/22 14:15:35
最低でも300fpsは欲しいですね。
446:デフォルトの名無しさん
10/05/22 15:04:13
そうですか..
447:439
10/05/22 15:29:32
439です。445は偽物です。
>>444
15fぐらいなら現実的かな、と思っています。
448:デフォルトの名無しさん
10/05/24 12:48:16
OpenGLに使う幾何学って何幾何学っていうんですか?
449:デフォルトの名無しさん
10/05/24 13:05:36
ジオメトリ・シェーダー?
450:デフォルトの名無しさん
10/05/24 13:44:48
いいえ、位相幾何学とかユークリッド幾何学とか代数幾何学とか色々あるじゃないですか?
そのなかのどれなのかなあと思ってます。
451:デフォルトの名無しさん
10/05/24 13:51:14
計算機科学。
452:デフォルトの名無しさん
10/05/24 13:51:34
計算幾何学。
453:デフォルトの名無しさん
10/05/24 13:57:02
計算幾何学。
454:デフォルトの名無しさん
10/05/24 14:02:01
ふざけないで真面目に教えてください。
よろしくお願いします。本当に困ってます。
455:デフォルトの名無しさん
10/05/24 14:34:29
おっちんちんびろーん^^
456:デフォルトの名無しさん
10/05/24 16:10:59
>>450
ユークリッド幾何学
射影幾何学
微分幾何学
解析幾何学
計算幾何学
これくらい押さえておけばOK
457:デフォルトの名無しさん
10/05/24 16:18:53
そうでしたか、微分幾何学しかよくわからないので。
とりあえず解析幾何学を勉強しようと思います。
ユークリッド幾何学はその次に勉強します。
有難うございました。
458:デフォルトの名無しさん
10/05/24 16:28:04
てか、単純に OpenGLで使う幾何学とか言われても
何やりたいのかで変わるんじゃね。じゃなかったらざっくり >>456 みたいな返事しか出来ないんじゃね
OpenGLはただのグラフィクスライブラリで、それ使って何をやるかなんて
自分が何やるか次第っていう基本、ド基礎はどこいった
459:デフォルトの名無しさん
10/05/24 16:33:38
OpenGLのライブラリーの中で使われている幾何が何かと言うことです。
OpenGLを作るために必要な幾何学といいうことでもあります。
460:デフォルトの名無しさん
10/05/24 16:38:40
日本語読めないのかおめーは
461:デフォルトの名無しさん
10/05/24 16:41:25
自分で何に対して何を聞いてるのか意味わかってるのか
ライブラリってそもそも、それぞれ関連する処理を都合で集めた関数群なんだぞ
座標空間での捉え方って話で言えば>>456も書いてるがユークリッド幾何学とかそういう大きな返事しか出来ないし、
そもそも中で使われているって、単機能ソフトウェアとかじゃないから、普通に答えづらくね
単に座標空間って言葉でもハミルトン数の空間もあるし、元の質問自体前提が適当すぎ
462:デフォルトの名無しさん
10/05/24 16:44:52
もういいです。
偉そうな態度の人に何を言っても無駄でしょう。
この書き込みの跡に私を罵倒する書き込みがあるとおもいますが、一切無視します。
さようなら。
463:デフォルトの名無しさん
10/05/24 16:49:00
まさかのマジキチ。
464:デフォルトの名無しさん
10/05/24 16:49:36
>>462
もういいですじゃねぇよ。 悪いのはお前。
無知な中学生二年生は言葉の響きで満足なんかしてないで、
真面目に意味を勉強して、実践して理解しろ
465:デフォルトの名無しさん
10/05/24 16:53:11
なんで偉そうとか思ったんだろうなww
多分何もわからないけどプライドだけ高くて、言葉で知的な気分味わって勝ち誇りたかったのに、
マジレスされて傷ついたから何も返事しないで 偉そうとか言って逃げたんだろうなw
466:デフォルトの名無しさん
10/05/24 16:58:28
勝間和代とかこんなイメージだな
プライドはあるし、自分の中の妄想で期待する答えがあるから相手の話をあまり聞いていない
467:デフォルトの名無しさん
10/05/24 17:16:46
本当に何か知りたい質問だったら、この後に罵倒する書き込みがあるだなんて、普通そんな謎な想像はしないよな
468:デフォルトの名無しさん
10/05/24 17:19:36
偉そうな態度の人に何を言っても無駄でしょう。
さようなら。
469:デフォルトの名無しさん
10/05/24 17:24:04
ロールプレイが足りないな。
そこは丁寧かつ遠まわしにチクリとやり返しておく場面だ。
470:デフォルトの名無しさん
10/05/24 17:33:57
>>455
471:デフォルトの名無しさん
10/05/24 17:56:22
久しぶりにスレが伸びていると思ってのぞいてみれば…
もっとOpenGLの話をしようぜ
472:デフォルトの名無しさん
10/05/24 18:23:52
小僧はニュー速のつもりで書き込んでるのかもしれないな
まじめに答えて損しちゃったよ
473:デフォルトの名無しさん
10/05/25 00:26:39
書き込めるぅ
474:デフォルトの名無しさん
10/05/25 19:16:46
質問です。
gl_line_strip/loopで線を引く時と、ポリゴンを描画するときで1ピクセルずれますよね?
これを一致させる方法はありますか?
ない場合、全体の座標系は、どっちに都合がいいように合わせるのが一般的でしょうか。
475:デフォルトの名無しさん
10/05/25 19:44:15
面白いギャグだ。
476:デフォルトの名無しさん
10/05/25 20:01:50
OpenGLの座標系はピクセルの中心ではなくピクセル境界に合うようになっているので
GL_LINE_STRIPで線を引こうとすると、(ピクセルと一致する座標系にしている場合は)
+0.5しないと正確に目的のピクセルを通らない。
で、ちょうど境界上の座標を指定した場合の切り詰め方が負方向なので
例えば画面左端ギリギリに1ピクセル幅の線を引こうとした場合、1ピクセル右を指定することになる。
(ポリゴンを描くときは画面左端の座標をそのまま指定すれば当然思い通りに塗られる)
このずれをなんとかしたいのです。
GL_LINE_STRIPでの境界上の点の扱いを正方向に倒すような機能があるかどうか?
そういう機能が無いとして、このずれを補正する目的でglTranslatedするのは一般的なのか?
477:デフォルトの名無しさん
10/05/25 20:04:21
ん 0.375 の話じゃなくて?
478:デフォルトの名無しさん
10/05/25 20:10:08
0.375?
479:デフォルトの名無しさん
10/05/25 20:30:34
URLリンク(www.opengl.org)
これか。サンキュー。
480:デフォルトの名無しさん
10/05/25 21:12:05
なんで0.375なの?
481:デフォルトの名無しさん
10/05/25 21:33:26
0.25だと0と0.5のどっちに倒れるかわからないので0.25と0.5の中間……ということじゃね?わからん。
ついでにGL_FLAT必須だね。SMOOTHと併用するとテクスチャとか色々ぼける。
482:デフォルトの名無しさん
10/05/26 20:18:03
日本一わかりやすいボーンのプログラムを作ってください。
483:デフォルトの名無しさん
10/05/26 20:57:08
作りました
484:デフォルトの名無しさん
10/05/26 23:48:36
俺も作りました
485:デフォルトの名無しさん
10/05/27 00:15:34
たぶん俺のが日本一だと思うよ
486:デフォルトの名無しさん
10/05/27 00:22:56
俺のは残念だけど日本二だ・・・
487:デフォルトの名無しさん
10/05/27 00:34:49
マジレスすると俺のが日本で一番分かりやすいと思う。
488:デフォルトの名無しさん
10/05/27 00:54:10
負けた・・・orz
489:デフォルトの名無しさん
10/05/27 20:58:15
では、そのプログラムを見せてください。
490:デフォルトの名無しさん
10/05/27 21:17:59
OK
300万くらいでいいか?
491:デフォルトの名無しさん
10/05/27 21:20:49
ものをみてみないと何ともいえないな。
動画とかでアップしてみてくれる?
492:デフォルトの名無しさん
10/05/27 23:29:06
あ、コードじゃ駄目なんだ・・・じゃあ俺はおいとましますよ
493:デフォルトの名無しさん
10/05/28 00:20:28
コードでいいよ
494:デフォルトの名無しさん
10/05/28 12:20:47
delete from このスレ where num>=482 and num<494 and text not like '%日本%'
commit
495:デフォルトの名無しさん
10/05/28 12:33:06
SQL文を複数打つ時は、文末に;「セミコロン」をいれないとダメでつよ
496:デフォルトの名無しさん
10/05/28 23:15:04
Frame Buffer objectと深度値を記録するテクスチャを用いて
ポストフィルタの作成をしています。
描画プロセスの途中、ある立体のみの深度値が必要だったので、
Frame Buffer objectに描画対象を切り替えて物体を描画しました。
当然この物体の描画以前の深度値とこの物体の深度値は二つに
分かれているのですが、これらを統合することは可能でしょうか?
テクスチャに深度値は格納しているので、デフォルトのフレームバッファに対して
深度値を書き込むことが出来れば実現出来ると考えているのですが、
どなたかご教示していただけないでしょうか?
497:デフォルトの名無しさん
10/05/29 01:12:26
GLSLだとgl_FragDepthに出力すればどうにかなるんじゃないかな
498:デフォルトの名無しさん
10/05/30 15:34:46
GL_COLOR_ATTACHMENT0_EXT にデフォルトのフレームバッファ
GL_COLOR_ATTACHMENT1_EXT にある立体用のフレームバッファ
にして同時に描画
499:デフォルトの名無しさん
10/05/31 20:14:51
496です。レスが遅れてしまって申し訳ありません。
>>497
レスありがとうございます。
レスをいただいてからgl_FragDepthを試してみたのですが、
あまり上手く行かずorz (gl_FragDepthに出力してもなぜか反映されない)
gl_FragDepthは以前にも一度試したことがあるのですが、
その時もあまり上手く行かず、投げ出してしまったことがあります。
深度バッファをレンダーバッファではなく、テクスチャを用いて
作成しているのが問題なのでしょうか。
もう少し色々と試してみます。
>>498
レスありがとうございます。
そういえばMRTという手がありましたね・・・。
でも、深度バッファは同時に複数アタッチ出来なかったと思うのですが、
可能なのでしょうか・・・?調べてきます。
MRTは今回書き込んだ箇所以外に適用することで
問題解決の糸口が見いだせそうな気がします。こちらのほうも模索してみます。
レス本当にありがとうございました。
最後に、返信が遅れてしまったことをお詫びします。
500:439
10/05/31 23:49:56
flag...?
501:デフォルトの名無しさん
10/05/31 23:52:18
ワリィ、JavaスレのHN残ってた。
502:498
10/06/02 18:14:55
>>499
>>でも、深度バッファは同時に複数アタッチ出来なかったと思うのですが
そういえばそうだった orz
503:デフォルトの名無しさん
10/06/02 22:33:14
アタッチ馬鹿よね〜 お馬鹿さんよね〜♪
504:デフォルトの名無しさん
10/06/02 22:34:39
う深度ゆ〜び う深度ゆ〜び さされ〜ても〜♪
505:デフォルトの名無しさん
10/06/03 09:16:26
面白いと思ってレスしてるんだろうけどさぁ・・・
506:デフォルトの名無しさん
10/06/03 14:19:32
高井麻巳子は神
507:デフォルトの名無しさん
10/06/03 15:01:01
何の?
508:デフォルトの名無しさん
10/06/03 16:34:47
>>506
うしろ指さされ組とか今の子は本当に知らない
てかもういい加減スレチだww
509:デフォルトの名無しさん
10/06/03 23:43:54
どこで質問すれば良いのか分からないのでUNIX質問スレに一度書き込んだのですが、
スレ違いのような気がしてきたのでここで再度質問させてください。
Ruby/GtkGlExtで3Dの描画をしたいと思っているのですが、
(Open GLやGtkGlExtを使うのは初めてです、RubyやGtkを使って個人用の小物を作ったことは何度かあります)
その際スクリーンに表示し、かつ必要に応じて保存したいと思っているので、Gdk::Pixmap(GdkPixmap)の使用を考えています。
ところが、断片的な資料を色々当たりながら組んでみたところ、
Gdk::GLContext(GdkGlContext)の設定の仕方が悪いのか、ライト等の設定が全く効きません。
問題を再現する(たぶん)最小のソースコードが以下なのですが、(1)をコメントアウトして代わりに(2)を実行させると正常な挙動を示します。
(1)はどこがまずいのでしょうか?
require 'gtk2'
require 'gtkglext'
def draw
GL.Clear(GL::COLOR_BUFFER_BIT)
Gdk::GL.draw_sphere(true,0.2,20,20)
GL.Viewport(0,0,200,200)
GL.Light(GL::LIGHT0, GL::DIFFUSE, [1,0,0,1])
GL.Light(GL::LIGHT0, GL::POSITION, [0.5,0.5,-1,0])
GL.Enable(GL::LIGHTING)
GL.Enable(GL::LIGHT0)
GL.ClearColor(1,1,1,1)
GL.Flush
end
Gtk::GL.init
glconfig = Gdk::GLConfig.new(Gdk::GLConfig::MODE_RGB)
window = Gtk::Window.new
window.set_size_request(200,200)
window.realize
510:509
10/06/03 23:44:50
#=begin (1)
wingc = Gdk::GC.new(window.window)
pixmap = Gdk::Pixmap.new(window.window,200,200,-1)
glpixmap = pixmap.set_gl_capability(glconfig)
glcontext = Gdk::GLContext.new(glpixmap,nil,true,Gdk::GL::RGBA_TYPE)
glpixmap.make_current(glcontext)
draw
window.signal_connect("expose_event") do
window.window.draw_drawable(wingc, pixmap, 0, 0, 0, 0, -1, -1)
end
#=end
=begin (2)
drawing = Gtk::DrawingArea.new
drawing.set_size_request(200,200)
drawing.set_gl_capability(glconfig)
window.add(drawing)
glcontext = drawing.gl_context
gldrawable = drawing.gl_drawable
gldrawable.make_current(glcontext)
drawing.signal_connect("expose_event"){draw}
=end
window.signal_connect("delete_event"){Gtk.main_quit}
window.show_all
Gtk.main
511:デフォルトの名無しさん
10/06/04 05:39:34
def draw
GL.Viewport(0,0,200,200)
GL.ClearColor(1,1,1,1)
GL.Clear(GL::COLOR_BUFFER_BIT)
GL.Enable(GL::LIGHTING)
GL.Enable(GL::LIGHT0)
GL.Light(GL::LIGHT0, GL::DIFFUSE, [1,0,0,1])
GL.Light(GL::LIGHT0, GL::POSITION, [0.5,0.5,-1,0])
Gdk::GL.draw_sphere(true,0.2,20,20)
GL.Flush
end
だとおもう。
512:デフォルトの名無しさん
10/06/04 08:14:39
glut使ってんですが、わからないことが。
基本3Dで描画してるビューのスクリーン上の座標を指定して線とかを書きたいんですが
方法がわからんから教えてくれないか。
( 0, 0 ) ( 100, 100 ) を結ぶ線分を描く、みたいな感じで
513:デフォルトの名無しさん
10/06/04 08:27:03
射影行列を
ビューと同じサイズの正射影と入れ替えればいいんじゃね?
514:512
10/06/04 08:56:37
>>513
ありがと、でも初心者だからよくわからないお
↓↓こんな感じ?でもその肝心の「なんか」のところがピンときません
glPushMatrix();
glMatrixMode( GL_PROJECTION );
// なんか
glBegin( GL_LINES );
glVertex2d( 0, 0 );
glVertex2d( 100, 100 );
glEnd();
glPopMatrix();
515:デフォルトの名無しさん
10/06/04 09:18:46
>>514
glPushMatrixは行列モードを変えてからやらないと
ビューのサイズが(0,0,800,600)なら
glMatrixMode( GL_PROJECTION );
glPushMatrix();
glLoadIdentity();
glOrtho(0 , 800, 600 , 0 , -1.0 , 1.0);// ニアとファーのプレーンは適当
glBegin( GL_LINES );
glVertex2d( 0, 0 );
glVertex2d( 100, 100 );
glEnd();
glPopMatrix();
必要ならあらかじめ
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
しておく事
516:512
10/06/04 09:33:25
>>514
できた!超ありがとう!
一つ学習できたよ
517:512
10/06/04 09:34:36
↑ >>515 でした。失敬
518:デフォルトの名無しさん
10/06/04 20:46:11
directxと、どっちが速い?
519:デフォルトの名無しさん
10/06/04 23:04:44
x
520:デフォルトの名無しさん
10/06/05 08:24:53
o
521:デフォルトの名無しさん
10/06/05 09:15:31
△
522:デフォルトの名無しさん
10/06/05 09:28:19
☆
523:デフォルトの名無しさん
10/06/07 00:50:22
3Dモデルファイルを読み込む場合に、3角ポリゴンに分割した方が効率良いのかな?
524:デフォルトの名無しさん
10/06/07 01:31:26
四角が混ざってると描画が面倒。
525:デフォルトの名無しさん
10/06/07 03:19:16
でもクアッドの方が描画は早い。
まぁ現実的ではないので基本は3角。
526:デフォルトの名無しさん
10/06/07 05:55:30
WGL_ARB_multisampleで16xマルチサンプリングを使うとテクスチャサンプリングがおかしくなるみたいなんですが同じ現象が出る方いますか?
x8以下で設定した場合やnvidiaコントロールパネルで設定した場合は発現しません
VistaとGF9600GTで最新ドライバを使用しています
527:デフォルトの名無しさん
10/06/07 06:03:14
追記、エラー等は出ていません
具体的な現象としてはサンプリング誤差が出てスプライト用途の画像がぼやけたり
ClampToEdgeを使用しているのに逆サイドのピクセルを読んだりします
528:デフォルトの名無しさん
10/06/07 06:47:11
おにゃんこワロタ
529:デフォルトの名無しさん
10/06/07 08:22:15
>>511
遅くなりましたが、ありがとうございます。
順番が効いてくるのですね。
もう一度勉強し直します。
530:デフォルトの名無しさん
10/06/07 10:09:47
>>523
インデックスバッファが使えない環境だと、
とにかく頂点数を減らすためにクアッドストリップ使ったりした。
ただクアッドは意図しないカリングが起きたりもした。
PCならインデックスバッファ使ったトライアングルリストが効率良いし使いやすいよ。
531:デフォルトの名無しさん
10/06/07 18:50:53
マテリアル単位で読み込むと効率良いかな?
532:デフォルトの名無しさん
10/06/07 19:36:08
OpenGL ES はPC向けのAPIもでまわってるのかな?
出来ればPCで開発したい。
533:デフォルトの名無しさん
10/06/09 19:53:16
glutのウィンドウに表示される内容をVC++のpictureboxに描画する方法ってある?
534:デフォルトの名無しさん
10/06/10 02:54:36
質問したいことがあるのですが、長いので2レスに分けさせていただきます。
URLリンク(wisdom.sakura.ne.jp)
このサイト様を見て、破線を表示するプログラムを作成したのですが、
破線が期待される通りに表示されません。
サイト様の説明では↓のように破線の三角形が表示されることが期待されるのですが、
URLリンク(wisdom.sakura.ne.jp)
↓のように斜めの破線が複数本表示されてしまいます。
URLリンク(fx.104ban.com)
ソースは次のレスで示させていただきますが、
元のサイト様のものとほぼ同一で、
#include <windows.h> の行だけ削除してあります。
OSはUbuntu 9.10です。
openGLはfreeglut3の2.4.0-6.1ubuntu1をインストールしました。
コンパイル時のコマンドは
gcc -lglut source.c
です。
破線が複数本表示されてしまう原因を知りたいのですが、
何かお分かりになる方が居られましたらご教示いただけると嬉しいです。
よろしくお願いします。
535:534
10/06/10 02:57:06
上で質問させていただいたものですが、使用したソースです。
#include <GL/gl.h>
#include <GL/glut.h>
void disp(void) {
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0xF0F0);
glBegin(GL_LINE_LOOP);
glVertex2f(0, -0.9);
glVertex2f(-0.9, 0.9);
glVertex2f(0.9, 0.9);
glEnd();
glFlush();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitWindowPosition(100, 50);
glutInitWindowSize(400, 300);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Kitty on your lap");
glutDisplayFunc(disp);
glutMainLoop();
return 0;
}
536:534
10/06/10 02:59:50
申し訳ありません、一つ言い忘れたことがあります。
glEnable(GL_LINE_STIPPLE)
の行を削除すると破線ではなく実線が表示されますが、
この時は複数本ではなく期待通り1本だけが表示されます。
537:デフォルトの名無しさん
10/06/10 03:29:24
>>536
そのソースを丸々コピって動かしても別に普通だけどなぁ
ちょっと別のPCで動かしてみるとかビデオカードのドライバを新しくするとかしてみれば
538:デフォルトの名無しさん
10/06/10 03:34:38
気になるところは特にないなぁ。
とりあえず今は次の項目に進んでも問題無いかも。
STIPPLEなんて使わんしな・・・。
539:デフォルトの名無しさん
10/06/10 03:36:08
データを読み取ってjpegで出力するようなCUIアプリを作りたいのですが、
GLUTやその他のGUIツールキットを使わずにOpenGLを使えないものでしょうか?
glutCreateWindow(name);
をやらずにいきなり描画すると、どうしてもsegmentation faultが出てしまって困っています。
540:デフォルトの名無しさん
10/06/10 03:46:47
「データを読み取ってjpegで出力する」過程の何にOpenGLを使うつもりなんだ?
シェーダーに計算させようとかそういう話?
541:デフォルトの名無しさん
10/06/10 06:39:08
>>540
具体的には、データを読み込んでそれをもとに「描画」し、
(ポリゴンを3次元に配置して光を当てて射影するという操作です)
それをglReadPixelsで読み取るという操作をOpenGLでやろうと思っています。
それで、ウェブサイトを参考に、GLUTを用いて何とか作れたのですが、使わずに何とかできないかなと。
「シェーダー」というのがそれを実行してくれるのですか?
542:デフォルトの名無しさん
10/06/10 08:21:58
>>541
シェーバー使ってピクセルを刈り取るんだよ
543:デフォルトの名無しさん
10/06/10 08:26:27
>>541
シェーダーは関係ない。
GLUTを使わない方法を解説しているページは沢山ある(たとえば>>1のNeHeのLesson1)
だが、今のままGLUT使っといたほうがいいよ
544:デフォルトの名無しさん
10/06/10 08:52:34
>>543
ありがとうございます。
なぜGLUTやその他のGUIツールを使いたくないかというと、ウィンドウに描画する作業が律速ではないかと非常に強く疑われるからなのです。
特に、リモートのサーバ上で動かすことを想定しているので、その転送の時間が。
glutHideWindowをやっても、大して効き目がないですね。
(ちなみに、そういうわけで環境はLinuxです、明示してなくてすみません)
545:デフォルトの名無しさん
10/06/10 09:23:30
>>544
とりあえず簡単なプログラムをGLUTと比較して、遅さの原因がGLUTにあることを確認したらいいとは思うが
GLUTをやめても速度は上がらないと思うよ。
glReadPixelsのデーターを転送してるのが遅いんでしょ?。それはglut関係ないし。
546:デフォルトの名無しさん
10/06/10 09:27:24
>>545
glReadPixelsのデータも転送しないまま、サーバ上でjpegに変換しています。
サーバからこっちに転送が発生するのは、Xのディスプレイだけですし、
実際ローカルでテスト実行したら、サーバから実行するより早いので、
どう考えてもディスプレイの転送がボトルネックかと。
547:デフォルトの名無しさん
10/06/10 09:35:13
で、結局何が聞きたいの?
GLUT使いたくないなら使わないで素のOpenGLでやればいいだけジャン?
548:デフォルトの名無しさん
10/06/10 09:36:52
>>547
それをどうやるかというのが、そもそもの>>539の質問です……。
549:デフォルトの名無しさん
10/06/10 09:47:12
意味が分からん
表示するのが前提なのにウィンドウに書きたく無いってどこに表示するつもりなんだよ
550:デフォルトの名無しさん
10/06/10 09:52:03
>>549
ウィンドウに表示するかどうかはどうでもよく、
glReadPixels(あるいは別の手段でも構いませんが)でビットマップデータを読み取れさえすればよいのですが。
「表示するのが前提」とはどういうことですか?
551:デフォルトの名無しさん
10/06/10 09:56:17
どっちにしろXの転送とやらがおきるのならGLUTだろうと自前だろうと速度は変わらないような気がするが
linuxはよく知らないけどこれとかどうよ
URLリンク(www.codesampler.com)
552:デフォルトの名無しさん
10/06/10 09:56:22
Windowsならビットマップにコンテキスト作れば描画してくれるけどGPUの支援ナシ
最近のOpenGLならFBO使って要求満たせんかね?これならウインドウは非表示でいいだろ
553:デフォルトの名無しさん
10/06/10 10:05:58
描画が終わった段階で1回だけglFlushして後は描画とめておけば良いだけちゃうの?
554:デフォルトの名無しさん
10/06/10 10:33:16
>>546
「転送」がかみ合ってない気がする・・・
555:デフォルトの名無しさん
10/06/10 11:45:49
垂直同期してるから60FPSに固定されてて遅いとか?
556:デフォルトの名無しさん
10/06/10 11:49:56
その処理はIdleファンクに書いているんだよね?
557:デフォルトの名無しさん
10/06/10 16:11:16
glXCreateGLXPixmap() で pixmap 作って、
そこに context 割り当ててやればいいのかねぇ?
558:デフォルトの名無しさん
10/06/10 20:30:00
赤本に書いてある太陽系のプログラムをそのまま写して
ビルドしたのですが
太陽の周りを回っている地球が太陽の後ろに行っているはずなのに
太陽に隠されることがないまま動いています。
Zバッファが無効になっているのですか?
ちなみに環境はmac OSXです。
よろしくお願いします。
559:デフォルトの名無しさん
10/06/10 20:40:26
まずはソースコードを読めるようになってからまた来てください。
560:558
10/06/10 21:57:29
すいません、解決しました。
一応報告します。デプステストをオンにしたらちゃんと
前後関係正しく描画してくれました。
赤本のコードには書いてなかったのですが、環境によっては
オートでオンの状態になってるということですかね
561:534
10/06/10 22:57:32
>>537-538
ありがとうございます。
ソースに間違いが無いということなのでしたら、
とりあえず気にしないで先に進んでみようと思います。
後々どうしても破線を描きたいような状況になったら、
改めて解決策を考えてみます。
どうもありがとうございました。
562:デフォルトの名無しさん
10/06/11 03:44:43
テクスチャって正方形じゃないとだめなん?
563:デフォルトの名無しさん
10/06/11 04:07:31
んなことない、ただし2の累乗である必要はある
256x512みたいなのは有りってこと
564:デフォルトの名無しさん
10/06/11 05:26:32
>>544
1. OSmesa を使う
2. サーバのローカルディスプレイに表示する
3. GLX 有りで FBO を使う
4. GLX 無しで FBO を使う (生 Mesa を使うとか)
5. あきらめて CUDA に移行する
1,5 は ウィンドウシステム内に GL の context を作らなくて良い。
2,5 は リモートの GPU によるアクセラレーションが効く (有れば)。
3 は 手元の GPU によるアクセラレーションが効く。
1,2,4,5 は ディスプレイ間でのデータ転送が発生しない。
2,3,4 は ウィンドウシステム内に GL の context を作らなくてはならない。
1,4 は ハードウェアアクセラレーションが効かない (多分)。
3 は ディスプレイ間でのデータ転送が発生する。
おすすめは:
アクセラレーション不要なら 1
アクセラレーション必要で権限の問題が無ければ 2
問題が CUDA 向きなら 5
565:デフォルトの名無しさん
10/06/12 02:07:59
>>562
OpenGL2.0から2の累乗の制限は無くなった。
2.0以前でもrectange_textureっていう拡張機能が使えれば2の累乗じゃないテクスチャを使えるよ。
566:デフォルトの名無しさん
10/06/12 02:19:04
ライブラリというのは
プログラムでよく使うコードをまとめた物やプログラムの部品となる物を意味していると思う。
OpenGLはリアルタイム3Dを使うプログラムを作るときのライブラリだと思っている人がいるかもしれない。
だからOpenGLにファイル読み込み機能やベクトルクラスが無い事などからDirectXより劣ったライブラリだと思われているかもしれない。
けどOpenGLはライブラリではないのだ。interfaceなのだ。
OpenGLの仕様書のChapter1 Introductionから引用させてもらうと
1.1 What is the OpenGL Graphics System?
OpenGL (for “Open Graphics Library”) is a software interface to graphics hardware.
The interface consists of a set of several hundred procedures and functions
that allow a programmer to specify the objects and operations involved in producing
high-quality graphical images, specifically color images of three-dimensional
objects.
567:デフォルトの名無しさん
10/06/12 04:33:33
ライブラリじゃないのはDirectXの方。
あれはパッケージ。だからDirectX SDK。
568:デフォルトの名無しさん
10/06/12 09:50:15
パッケージ?
569:デフォルトの名無しさん
10/06/12 15:15:45
>>566
どうでもいいが、「グラフィックスハードウェアの」インターフェースで
あることを強調しなければ、機能限定の理由にはならんだろう。
570:デフォルトの名無しさん
10/06/12 16:14:50
>>568
DirectXっていうライブラリは無くて、Direct3DやDirectInputなどのコンポーネントの集合体だって意味では
openGLに相当するのはDirect3Dで、ファイル読み込みやベクトルクラスなどはDirect3DXだから
使いたければDirec3DXはopenGLからでも使えるかも
571:デフォルトの名無しさん
10/06/12 16:23:36
gluの事も忘れないでください・・・
572:デフォルトの名無しさん
10/06/13 00:27:17
メタセコのデータを表示するプログラムを作っているのですが
頂点データと面のインデックスデータを読み込んでglDrawElementsで表示する事はできました
しかしUVデータはインデックスではなく三角と四角のポリゴン単位になっているのでそのままでは適用できませんでした
表示用にデータを作成し直したりしないといけないんですか?
573:デフォルトの名無しさん
10/06/13 03:23:00
とりあえず表示するだけで良いなら、面毎に頂点を作成してglDrawArraysでいい
574:デフォルトの名無しさん
10/06/14 03:48:02
>>572
同一座標の頂点で違うUVがある場合の描画は
通常は重複(duplicate)頂点と言って、頂点を増やす
(座標は同じでUV値だけ違う)
当然glDrawElements単位でのインデックスも増やす
だからと言って、エクスポートや出力データも
まんま馬鹿正直に同じ座標を出してインデックスを変える必要はない、
それがキミが詰まってる原因なんだろう
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4331日前に更新/174 KB
担当:undef