OpenGL 2.0 専用スレ

2019/12/06(金) 10:59:47.51ID:ZSKvcFXv
Desktop OpenGL 4.1 以降には OpenGL ES 互換モードがあるけど、実は、
OpenGL ES や WebGL の関数群は、Desktop OpenGL 1.0 には無かっただけで、
Desktop OpenGL 2.0 には全く同じものがあって、違いは、恐らく
Shader 言語 GLSL に厳密な互換性があるかどうかだけらしい。
厳密な互換性がない場合でも、基本的な互換性はあるように思える。知らないけど。
2019/12/06(金) 14:37:49.59ID:ZSKvcFXv
>>833
OpenGL 2.0 の、glVertexAttribIPointer, glUseProgram, glLinkProgram,
glCreateProgram, glBindBuffer, glBufferData などは、glext.h で宣言
されており、gl.h には入っていない。
Windows SDK 10 などには、gl.h の方しか入っていないので注意が必要。
cygwin の D:\cygwin\usr\include\w32api\GL
/usr/include/w32api/GL
には、gl.h, glu.h, glaux.h と共に glext.h も入っている。
835デフォルトの名無しさん
垢版 |
2019/12/07(土) 13:53:03.68ID:4jkkIRaG
>>834
結論的に言うと、OpenGL 1.2 以降は、拡張 OpenGL と呼ばれ、
Windows では、MSは原則的に公式サポートはしておらず、
nVidia, AMD(ATI), Intel などが主導して統一(ARB という組織?)された
規格なんだそうだ。なので、ドライバは各社のものを使う必要がある。
しかし、新品のパソコンやMotherBoardを買ってきたりした場合、
予めドライバがインストールされていたり、ドライバの光学メディア
が付いてくると思うのでドライバは改めてインストールする必要は無いようだ。
なお、MSも、wglGetProcAddress() という API はサポートしていて、
それを使うとそれらの関数アドレスを統一して取得することは出来るようになって
いるので、拡張 OpenGL を使い始めるのに各社各様の方法を使う必要はない。

なお、glew というフリーのライブラリがあり、それを使うと、
wglGetProcAddress() を使ってくれて、あたかも最初から、
拡張 OpenGL の関数群がライブラリ関数としてあったかのように
使うことが出来る。
836デフォルトの名無しさん
垢版 |
2019/12/07(土) 13:56:28.01ID:4jkkIRaG
age
2019/12/07(土) 13:57:52.93ID:4jkkIRaG
>>831
OpenGL 1.0 では、ピクセルセンターの位置も変更できました。
拡張 OpenGL では分かりません。
2019/12/09(月) 19:14:29.97ID:p1vnOdMl
>>835
補足すると、DirectXなどでも、ハードウェアに近いドライバは、
ハードウェア会社が用意していることが多い。しかし、DirectXの上位層
はMSが最初から用意している。なお、ドライバは層を成しており、
マザーボードとGPUの接続のためのドライバと、GPUのCoreUnit
を制御するためのドライバは別だったりするが、その話は置いておく
(もっと細かく分かれている可能性も有るが詳しくは分からない。)。

一方、OpenGLの場合は、上位層までハードウェアベンダーなどの
MS以外のサードパーティーが用意しているということ。ただし、
それだけだとアプリケーションからの呼び出しが余りにも不便になるので、
MS も wglGetProcAddress() だけは用意しているということになる。
2020/01/12(日) 00:21:13.22ID:i5Uzpakr
OpenGLのバージョンがどんなに上がっても
1.0は使えるということでOK?
2020/01/15(水) 08:50:00.18ID:fuPkBdS0
ok
2020/07/08(水) 00:54:38.93ID:i2MlnrFX
Android kotlinでopenGL やろうとしてるんだけどcontextがViewのrendrereに渡せず四苦八苦しています
touch eventの情報は渡せたけど加速度センサーの値が渡せない
洋書でもいいので何か参考になる資料があれば教えてください
2020/08/09(日) 22:53:15.77ID:Uv/1ywkg
遅レスだが
うちの設計だがレンダラの管轄的に描画関連 頂点 テクスチャ 視点のみ持たせてる
タッチイベントやセンサーなんかはメインプログラムが持っていてそれらを渡すのではなく
逆にメインがレンダラの描画関連配列の参照をもらうだけにしてる
843デフォルトの名無しさん
垢版 |
2020/08/20(木) 00:01:45.21ID:rHVrqknA
思ったよりVulkan普及しないね
OpenGL系はもうオワコンかな
2020/08/20(木) 00:14:16.18ID:nYM8EGx9
処理速度出すなら必要じゃろ
2020/08/20(木) 01:49:43.66ID:lKF0DrE3
PCじゃともかくモバイルでは今のとこOpenGL以外選択肢ないから
2020/08/20(木) 17:47:12.25ID:MbwRgkW9
>>843
Mobileでは、3DといえばOpenGLだし、Webの3DであるところのWebGLも、
OpenGL ESとほぼ同じもので、OpenGL ESは、OpenGL 1.2 とほぼ同じ流儀。
なので、今は、OpenGL 1.2 と同じ書き方をしていれば、全てのプラットフォームで
グラフィックが描けるほど、OpenGLは、流行っている。
むしろ、Direct3Dの方が廃れていると言えるほど。
2020/08/20(木) 18:49:56.84ID:nYM8EGx9
問題なのはリンゴ様じゃのぉ
なぜ見捨てた
2020/08/20(木) 20:05:02.96ID:X1nNk3cj
Vulkanとかボルツマンイニシアチブとか次々と矢継早に出てきたと思ったら急になにも動きが
なくなったね。AMDでもCUDA互換コードが動くとか期待してたんだが。
ありゃあ何だったんだろう。
2020/08/21(金) 02:02:11.80ID:ySC03NbV
>>847
それだよな、iOS対応が滞っちゃったのが一番の敗因だわ
Vulkan自体は面白いんだけどなぁ
なんでこんなクソ囲い込みOSが普及しちゃうんだksg
2020/08/21(金) 04:04:38.39ID:doMMuhUQ
>>849
別に負けてないぞ
iOSでもやりたいヤツはmetalもやれ!ってだけだろ
2020/08/21(金) 09:12:41.15ID:SPVvFNrm
>>849
普及した理由は、iOSだけは、ハードをAppleだけが出していて、
デバイスの形状や穴の位置が少数に限定されるため、デバイスの保護ケース(入れ物)
の選択肢が増え、女子高生達が欲しがるような「かわいいケース」
が使えることが一番大きいと見ている。
逆にAndroidデバイスでは、デバイスの形状がメーカーによってまちまちなため、
合うケースが機種ごとに分かれてしまうため、自分が持っている機種に対する
ケースは結果的に選択肢が少なくなってしまう。
そのため、女子高生が好むような「かわいいケース」が選べない事態となっている。
iPhoneの場合は、アリエルが背面に描かれたケースを友達が持っているとする。
それと同じものが、Androidでは似たものはあっても、デザインの品質が
悪かったりする。または、良いものが有ったとしても、たまたま自分の
持っているデバイスには形状が合わなかたりする。
店に行ったとしよう。iOS用のケースは、40種類置いてあるとする。Androidの
場合は、メーカーが10有るので、1つのメーカーでは、4つしか選択肢がない。
852デフォルトの名無しさん
垢版 |
2021/01/13(水) 18:31:24.12ID:Sxr/fWPH
openGLってほんと今後どうなる?
Appleだけが非推奨にしたからといって消えるものでもないだろうけど
2021/01/13(水) 23:44:12.04ID:QL0ByxxR
M1MacでもまだOpenGL使えるらしい
もし使えなくなっても、MetalやVulkan上で動かすライブラリが有るから何も気にしないでいい
ほぼ永久に使える
ただ、最高性能を引き出すことは出来ないけどね
2021/01/14(木) 04:30:59.10ID:ckB9NomO
普通に考えるとそうなんだが、アップルはキチガイだから
ときどき囲い込みを完成するために急にえげつない施策をやってくるから要注意
たとえばMetalを使うアプリには特別に審査が必要、としておいて審査でOpenGLの
ラッパーつかってるものは全部リジェクトする、とかね
2021/01/14(木) 08:52:22.61ID:A91VfwUt
それは無理だろう
スタティックリンクすれば始めからMetal使ってるものとの区別がつかない
2021/01/14(木) 14:21:41.06ID:SRRh41dS
過去にMetalラッパーが非公式API使ってたからラッパー使ってるとリジェクト!
ってのはあったけどまあちょっと違う話ではあるかな

とはいえ実際にサード製のラッパーでしか動かせなくなったら
何も気にしなくていいって言えるほど安心はできないけどね
2021/01/14(木) 15:26:34.56ID:GxiRCVNS
Appleが使わないのはどうでもいいけど
M1で使えないってなったら困るかもな
2021/07/26(月) 04:55:28.34ID:s0w+fTjB
いまさらopenGLはじめました
100個くらい同じ三角形を表示させると落ちる、、、
書き方なんだろうけど頑張ります
859デフォルトの名無しさん
垢版 |
2021/07/26(月) 13:31:07.22ID:bC34eRyK
動かさず並べるだけなら余裕で1000個表示できた
移動させるときの変数の扱い方が悪いみたいだな…
Array使って中の変数の数値変えてるだけなんだけど
もう少し精進してみます
2021/07/26(月) 14:36:56.64ID:5u5J/MDS
その程度で落ちることは無いと思う
書き方が悪いとしたら
メモリリークかな
2021/07/26(月) 15:38:51.32ID:ZUHdqQ4+
1回だけでいい処理を繰り返し実行してるかもしれない
毎回bufferを生成してるとか
2021/07/26(月) 16:30:42.67ID:bC34eRyK
>>861
あ、それやっちゃってます…
三角形描く関数の中でバッファ作ってて、表示位置変えてその関数を何度も実行させて処理してますね…
見直ししてみます
ありがとです
2021/07/26(月) 20:48:21.08ID:ZUHdqQ4+
GLのBufferはサイズが不定だから最初ちょっと引っ掛かった
最大サイズが決まってる箱じゃなくて紙を好きなだけ挟めるファイル(バインダー)を
イメージするといいかもしれない
2021/08/04(水) 14:59:42.82ID:+oXHFO6s
androidのopenGL ESやってるけど
5年くらい前の機種だとメモリなのかCPUなのかとにかく足らない
2021/08/05(木) 10:10:43.87ID:Cq+sAU0F
5年前の機種とか切りすてでええがな
2021/08/05(木) 11:02:59.22ID:vbBkKRAb
android 5.0 使ってる人まだまだいるのよ
2021/08/21(土) 14:50:01.54ID:qzzQq94j
メモリーリークはどこかしらコードが間違ってる可能性高いよ
例えばglDelete忘れてるとかありがち
868デフォルトの名無しさん
垢版 |
2021/09/05(日) 03:09:26.09ID:SP9DaJwh
カメラの位置 gluLookAt なんだけど
視点から注視点と、視点から頭の方向の2つのベクトルは直行してなくてもいいんだよね?
869デフォルトの名無しさん
垢版 |
2021/09/05(日) 15:03:03.81ID:LgQhIBwq
平行(独立していない)だとだめじゃないか?
2021/09/05(日) 16:57:35.20ID:ALa5clAd
868です。
自己解決しました…たぶん…



視点→注視点

間の角度が何度だろうと
この2つのベクトルに直行する外積のベクトルが画面のx軸になるってことだと思う

なので独立も平行もないと思います
環境によっては異なるかもしれません
間違ってたらごめんなさい
871デフォルトの名無しさん
垢版 |
2021/09/06(月) 15:09:19.32ID:DsY+3+kX
だから平行だと外積は?
2021/09/08(水) 16:00:33.03ID:45GUJlB8
馬鹿には無理
2023/10/15(日) 22:36:02.76ID:BrxXuoxi
夏に向けて水着買いに行かなあかんなぁ
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況