私は iOS 用の Qualcomm 拡張現実 FrameMarkers デモで作業しており、私たちの 3D 担当者から提供されたモデルに切り替えました (実際、彼は 3D に手を出す 2D 担当者です。これが、私がこれを解決しようとしている理由です3D エンドではなく、コードエンド)。問題はテクスチャリングに関するものです。デモでは、2D イメージ テクスチャが 3D モデルにバインドされていることを前提としています。しかし、私たちの 3D 担当者はテクスチャリングをオブジェクト自体に組み込みました (プロシージャル テクスチャリングなど)。
当初、オブジェクトは完全に黒く塗りつぶされており、詳細はまったく見えませんでした。これらの行をデモから削除することで、これを少し改善することができました。
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, [obj3D.texture textureID]);
これにより、すべてが滑らかな色になり、一部の表面の詳細と一部の反射が見えるようになりました(実際には、純粋に反射するのではなく、場所によっては半透明であるはずです-それも問題です..)。
半透明性を実現するには、これらのコマンドが必要であるといくつかの場所で読みました。
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
ただし、私にとっては、画面全体が黒くなるだけです..
正しい:
アプリ内: