2017-09-04 4 views
3

私はSDL_TEXTUREACCESS_STATICSDL_TEXTUREACCESS_TARGETの違いを知っています。私は、プラットフォームに依存しないコアが、プラットフォームに依存するテクスチャアロケータに、テクスチャが単に画面にブリッジされるかどうか、またはテクスチャがターゲットとしても使用されるかどうかを伝えないゲーム用のSDLバックエンドを作成しています。ターゲットとして使用されていないSDLターゲットテクスチャを割り当てるときに罰金はありますか?

このように、私のSDLのバックエンドのテクスチャアロケータは、テクスチャだけブリットされるかどうか、それは割り当て時にわからないためか、それはまた、ターゲットとして使用されている場合、それは割り当て、すべてのテクスチャのためSDL_TEXTUREACCESS_TARGETの代わりSDL_TEXTUREACCESS_STATICを使用する必要があります。

しかし実際には、実際にはターゲットとして使用されることはありませんが、内容を変更することなく画面にブリッジされていますが、SDL_TEXTUREACCESS_TARGETとして割り当てられる多くのテクスチャが存在します。

これには何らかの違反がありますか?テクスチャがターゲットとして使用されることは決してありませんが、依然としてSDL_TEXTUREACCESS_TARGETを使用して割り当てられているとします。これには大きな罰金がかかりますか?そうであれば、もちろん、プラットフォームに依存しないコアを書き直して、プラットフォームに依存する部分に実際にテクスチャをターゲットとして使用するかどうかを伝えることができますが、これは大きな努力であるため、すべてのテクスチャに対して単にSDL_TEXTUREACCESS_TARGETを使用すると、実際にはターゲットとして使用されているかどうかにかかわらず実際のペナルティがあります。

答えて

2

私はSDLメーリングリストで尋ねましたが、OpenGLでは大きな罰則はありませんが、WindowsのデフォルトのドライバであるDirect3Dには、ウィンドウサイズが変更されたときにDirect3Dがターゲットテクスチャをリセットするという問題がありますまたはウィンドウの表示モードを切り替えるとき(フルスクリーン、ウィンドウなど)アプリケーションがSDL_RENDER_TARGETS_RESETを処理し、ウィンドウサイズの変更などでコンテンツを保持する必要がある場合は、ターゲットテクスチャの内容を更新する必要があります。したがって、少なくともDirect3D静的テクスチャの代わりにターゲットを使用する場合、大きなペナルティがあります。

関連する問題