したがって、OpenGL プログラミングの重要な要件は、連続したメモリを保証する方法で頂点を格納することです。私は最近、プロのグラフィック プログラマーによるまともな本を 2 冊読みましたが、どちらも同じアイデアのバリエーションを使用していました。頂点をstruct
3 floats
、x、y、z にパッケージ化し、複数の頂点をいずれかの c-style にパッケージ化するというものです。配列またはstd::vector
これらのstructs
。そして、それは機能します。
struct
しかし、このサイトでは、aはメモリの連続性を保証しないと何度も言っているのを見てきました。構造体にすべてが含まれている場合、floats
それらはおそらく連続していると言われていますが、保証されていません。array
andは それstd::vector
を保証しますが、配列またはベクトルに入れているものが連続していない場合は関係ありません。
生産コードの場合、「おそらく」はそれをカットしないと思います。したがって、これらの 2 冊の本の提案にもかかわらず、これらは明らかに学習に適していますが、連続したメモリを保証する方法で頂点データを簡単に整理するための他の優れた手法を知りたいです。または、アドバイスを受け入れます。私はこれについて心配する必要はありません。おそらくそれで十分です。
グラフィック分野で使用される他の一般的で優れた方法は何ですか?