問題タブ [surface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ビューポートへのクリッピング サーフェス
サーフェスと X、Y 位置をレンダリングするメソッドを使用してサーフェスをレンダリングしようとしています。問題は、サーフェスが 1 つの小さなピクセルだけ画面の外にある場合、まったくレンダリングされないことです。
何故ですか?DirectX クリッピングを検索しようとしていますが、何も見つかりません。
...そして X = 100、Y = 100 は機能しませんが、-100 は機能しますが、正しく引き伸ばされません。
望ましい効果のイメージ例:
また、*pSourceRect と *pDestRect をサーフェスをクリップするものに設定しようとしましたが、うまくいきませんでした。
DirectX9を使用しています。
c++ - 有効なSDLサーフェスを解放すると、セグメンテーション違反が発生します
[解決済み]コピーコンストラクターと代入演算子を実装するのを忘れました。デフォルトのコピーを使用するように割り当てられているインスタンスは、それが指すサーフェスを作成したインスタンスと同じポインタを取得します。それらの1つが破棄するか、redraw()を呼び出すと、もう1つは解放されたメモリへのポインタを保持し、セグメンテーション違反を引き起こします。
アプリケーションにテキストラベルのクラスがあります。プロパティが変更されると、自動的にプライベートサーフェスに再描画されます。
一般的に、再描画は次のようになります。
しかし、サーフェスを解放するとコードがクラッシュします(もちろん、解放するサーフェスがない場合、ポインタは0に等しいため、有効なものだけです)。
また、一部のマシンでコードが正常に機能し、メモリが解放されるのも不思議です。しかし、他のものではそれはクラッシュします。
サーフェスを解放する行をコメントアウトすると、アプリケーションは正常に機能しますが、メモリリークが発生します。私はその解決策も見つけも説明もしませんでした。
コンストラクターで_imageを0に設定します。redraw()関数(およびデストラクタ)を除いて、_ imageの値を変更したり、サーフェスを解放したりするコードはありません。
どういうわけか、XPでのみクラッシュするメモリを解放します。解放部分をコメントアウトしてもクラッシュしません。どちらのバリアントもwin7(x86とx64の両方)でうまく機能します。
mesh - プラトン (アルキメデス) 立体の 3 次元点から面へのマッピング
各面のディスプレイスメント マップを適用したプラトニック (またはアルキメデス) ソリッドの結果のサーフェス メッシュを計算したいと考えています。メッシュは、ディスプレイスメント マップの詳細を表示し、水密で多岐にわたる (3D 印刷用) 必要があります。
このために、CGAL の陰関数 3D サーフェス メッシャーを使用することを考えました。次に、各ボクセル ポイントを対応する顔にマッピングし、ボクセル空間から顔に座標系変換を適用し、顔の高さフィールドを調べます。私は各面の変換行列を作成する方法を知っているので、ボクセルがソリッドに含まれているかどうかをテストするために次のアルゴリズムを考えました。
- 点 A に最も近い面を見つける
- 与えられた点 A について、すべての頂点を繰り返してプラトニック (アルキメデス) 立体の 3 つの最も近い頂点を見つけ、距離を A と比較します。
- 頂点配列の最小インデックスに従って 3 つの頂点を並べ替えます
- 頂点インデックスから整数 (lexicographix インデックス) を作成します: (v[0] n n+v[1]*n+v[3]*1) ここで、n は頂点の数です。
- タプルの配列 (辞書式インデックス、面) を反復処理し、同じ辞書式インデックスを持つ面を見つけます
- 各面には、事前に計算された変換行列と高さフィールドがあります。変換行列を適用し、高さフィールドを調べて、A がソリッドの内側か外側かを確認します
特に正しい顔を見つけるために、もっと良い解決策があると思いますか? もう 1 つのアプローチは、サーフェス メッシャーを使用せず、面からサーフェスを構築することです。各面のディスプレイスメント マップを取得し、それに変換マトリックスを適用してソリッドを構築しますが、各面メッシュを単純化し、結合する必要があります。結果がウォータータイトでマニホールドになるように (そして、ディスプレイスメント マップに特定の値がある場合、面は穴をサポートする必要があります)、陰関数を使用したボクセル ベースのアプローチが最も一般的なツールであると考えました。
c++ - ゲームを数分間実行すると、SDL_Surface が消えますか?
小惑星ゲームを数分間実行すると、船を表す SDL_Surface が消えます。どういうわけか、船の回転イメージ (rot) を保持するサーフェスが NULL に設定されています。理由がわかりません!行を追加する前はif(rot != NULL && image != NULL)
、約 1 分 30 秒実行するとプログラムがクラッシュしていましたが、今では画像が消えてしまいます。何が悪いのか理解できないようです!前もって感謝します!
回転とレンダリングを含むスプライト クラス関数。
主要:
r - R scatter3d パッケージで回帰曲面のデータまたは関数を取得する
R の scatter3d パッケージで表面回帰をプロットするために使用されるデータを表示できるかどうかは誰にもわかりませんか? 私が望むのは、R の scatter3d パッケージのデータ ポイントに適用される曲面回帰の式 (または関数) を何らかの方法で表示できるようにすることです。
c++ - クリッピング プレーンとジオメトリが交差するサーフェス
vbo と組み合わせてジオメトリ シェーダーを使用して表示しているジオメトリがあります。また、必要なオブジェクトの部分を表示するために必要な 2 つのクリッピング プレーンもあります。
ここで、クリッピング プレーンによって生じるジオメトリの開口部 (ジオメトリ シェーダーを使用して中空の閉じたサーフェスをレンダリングします) を覆うサーフェスを表示したいと考えています。
ジオメトリを 2 回レンダリングして、ステンシル バッファ アプローチを試しました。しかし、それはひどく遅いです。
速くする方法を提案します。
hidden - オクルージョン カリング テスト 3d
シェルが平らな三角形 (ポリゴン メッシュ) で表されるボディがあるとします。メッシュは、必要な精度レベルのために数百万のポリゴンで構成されています。さらに、体は凸状ではありません (球体ではありません。体の良い例であるイルカについては、Wiki ページの「ポリゴン メッシュ」を参照してください)。
特定のアプリケーションでは、特定のポイントから見たポリゴンを知りたいです。三角形が見えるかどうかのテストを中心点にすることができることを強調したいと思います。したがって、三角形が見えるか(中心点が見える場合)、または隠される可能性があります。半分しか見えないポリゴンには興味がありません。
そのための良い方法を教えてください。ポリゴンの可視性に関するデータを、画面ではなくメモリ (プログラミング変数-データをさらに使用できるようにするため) への出力として取得したいと思います。