私は弾丸の変換を持っており、glm :: mat3タイプとしてアクセスできるようにしたいと考えています。データをコピーせずに箇条書き変換をglm行列に変換するにはどうすればよいですか?
しかし、コピーすることなく(make_mat3x3のように)それを行うには良い方法があるのだろうかと思います。
私は弾丸の変換を持っており、glm :: mat3タイプとしてアクセスできるようにしたいと考えています。データをコピーせずに箇条書き変換をglm行列に変換するにはどうすればよいですか?
しかし、コピーすることなく(make_mat3x3のように)それを行うには良い方法があるのだろうかと思います。
GLMをスキップしたところ、ソースコードを変更することなく、不可能であることがわかりました。
コピーが必要です。
両方ブレットとGLMキャッシュ値によってマトリックス、ポインタまたは参照しません。
弾丸については、証拠を参照してください:https://glm.g-truc.net/0.9.2/api/a00132_source.html:http://bulletphysics.org/Bullet/BulletFull/btMatrix3x3_8h_source.html
GLMについては、例を参照してください。
memcpy
を使用する方が速いかもしれませんが、可能かどうかはわかりません。
値の順序によって異なります。
(私はGLMについての知識が限られている)
も、あなたは2つのオブジェクトが同じアドレスに常駐させるために管理し、
は難しいが管理することに恐ろしい問題があるでしょう。
ただし、コピーを避ける前に、のプロフィールでしたか?
コピーは高価ではありません。
数年前、私は同様の問題で数時間を無駄にしました。
私の場合は、Bulletの行列をOpenglバッファにコピーしたいと思います。
それにもかかわらず、私がそれをプロファイリングした後、私はすべてのゲームプロトタイプで が見つかりました。この操作はロジック全体の1%以下でした。
本当に努力する価値はありません。
早期最適化は悪の根源です。