問題タブ [clipping]
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.
opengl - オブジェクトがOpenGLのクリッピングボリュームの外側にあるかどうかを確認するにはどうすればよいですか?
私はOpenGLのモデルビュー変換について本当に混乱しています。私はすべての変換プロセスを理解していますが、射影行列に関しては、私は迷子になっています:(
ポイントP(x、y、z)がある場合、このポイントが平行クリッピングボリュームまたは遠近法クリッピングボリュームのいずれかによって定義されたクリッピングボリュームに描画されるかどうかを確認するにはどうすればよいですか?このプロセスの背後にある数学的背景は何ですか?
php - Safari に埋め込まれた SVG Doctype
raphaeljs ライブラリを使用してさまざまな SVG 要素を描画するページを作成しましたが、Safari でいくつかの問題が発生しています。
画像を描画し、クリッピング パスを使用して特定の領域をマスクしています。ユーザーは、これらの画像をクリックして、背後にある他の画像に移動できます。
これは、Firefox と Chrome、さらには IE でも期待どおりに機能します。しかし、Safari では画像をクリックすることができません。Safari でクリッピング パスが機能しないようです。
この質問を通じて、Safari の content-type は html5 パーサーを使用していないため、「application/xhtml+xml」に設定する必要があることを発見しました。
これを私のページの一番上に置くという提案を試みました...
...しかし、ブラウザはhtmlファイルを出力するだけです。
chromeやfirefoxのように、Safariに埋め込まれたSVGを適切に描画させるために必要なDoctypeは何ですか?
これは私がSVG画像を描画する方法であり、クロムとFirefoxで正常に動作します
opengl - gl_PositionのZbufferルール
重要な場合に備えて、openglの設定は次のとおりです。
しばらくの間、クリッピングプレーンは、gl_Position.zが-1から1の外側にあるものすべてに適用されると思いました。しかし、シェーダーでgl_Position.zを一定の数に強制した場合でも、次のようになります。
gl_Position.wに基づく正しいzバッファリングとクリッピングがまだあります!それで、ルールは何ですか?
android - Android クリッピング パス (またはその他の方法) を使用して、ビットマップの一部を別のビットマップの上にオーバーレイします。
Android 2.1 以上
同じサイズの 2 つの画像があるとします。1 つは、ドーナツの中央と外側が透明なドーナツ形です。
もう一つはドーナツと同じ大きさの正方形の画像
それらがオーバーレイされると、次のようになります (正方形が Z スタックの上にあるため、ドーナツは実際には表示されません)。
私がやりたいことは、クリッピング パスまたは任意のメソッドを作成して、開始角度と停止角度 (時間の経過とともに変化する) を使用して、ドーナツの内側にある正方形のビットマップの部分を実際に表示することです。
たとえば、ドーナツの内側にある青い四角形の部分を、0 度から 40 度まで、および 180 度と 270 度まで表示します。これは、このようなものを生成します。
どこから始めればいいのかわからない、誰かアイデアはありますか?
iphone - UIButton+斜体フォント=クリッピング
問題は、サイズが13より大きいHelvetica Obliqueのようなイタリックフォントを使用すると、UIButtonがタイトルテール(最後に約1〜2ピクセル)をクリップすることです。この問題の解決策を知っている人はいますか?
c# - LiangBarsky アルゴリズムによるライン クリッピング c#
私はC#で実装されたLiang Barskyアルゴリズムを持っていますが、この場合のように四角形の境界外のポイントを返すことがあるため、何か問題があります:
p1=(516,546) および p2=(0,0) R=0; L=511; T=511; B=0;
また、線が完全に長方形の外側にあることをどのように示すことができますか
- アルゴリズムを前のコードに翻訳したので、いくつかの概念を見落としている可能性があります
html - canvas 要素なしで HTML の DIV をクリッピングする
HTML+Javascript ページ フリップ効果に取り組んでいます。テキスト/フォームなどでこれを使用できるように、HTML5 Canvas 要素なしでこれを実現したいと考えています。
これは私がこれまでに一緒にハッキングしたものです(webkitブラウザ、chrome 12を使用しています): JSFIDDLE: Page Flip
プレビュー:
私がやりたいのは、青い四角形の外側にある赤い四角形の領域を表示しないことです。私の問題は、重なり合う領域(紫色の領域)のマスキング/クリッピングにあります。マスク (青) の div 内にページ (赤) の div を埋め込んで設定しようとしましたoverflow : hidden
が、問題はマスク (青) が回転し、ページ (赤) も回転し、オフセットを使用して計算を修正する場所がありませんでした。 .
この領域をクリップする他の方法はありますか?
ios - iOS: UIBezierPath から画像クリッピング パスを作成する
ユーザーが画像の一部を切り取ることができるアプリを作成しています。これを行うために、一連の UIBezierPath を作成してクリッピング パスを形成します。私の現在の設定は次のとおりです。
- UIImageView は、カットしている画像を表示します。
- その上にある UIImageView は、ユーザーが追加している UIBezierPaths を表示/更新するためのカスタム drawRect: メソッドを実行する UIImageView のカスタム サブクラスです。
- ユーザーが「完了」ボタンをクリックすると、新しい UIBezierPath オブジェクトが作成されます。このオブジェクトには、ユーザーが作成した個々のパスが格納されている配列をループ処理し、それ自体で appendPath: を呼び出すことによって組み込まれています。この新しい UIBezierPath は、そのパスを閉じます。
それは私が得た限りです。UIBezierPath に addClip メソッドがあることは知っていますが、ドキュメントからその使用方法を理解できません。
一般に、私が見たクリッピングの例はすべて、UIBezierPath ラッパーではなく Core Graphics を直接使用しています。UIBezierPath には CGPath プロパティがあることに気付きました。では、完全な UIBezierPath オブジェクトではなく、クリッピング時にこれを使用する必要がありますか?
java - OpenGLでZファイティングの問題を取り除く方法は?
私はフライトシミュレーターを書いていますが、このジャンルの古典的な問題に悩まされています。視錐台の近くの飛行機は航空機のコックピットが見えるように十分に近くなければならず、遠くの飛行機は最大で見える距離を可能にするために遠くになければなりません40km。
可視距離または近距離/遠距離の比率は、openglのzバッファ精度能力を実際に超えており、遠くのオブジェクトは激しくちらつきます。これは、派手な3Dエンジンが問題を抱えている場所であり、openglの真の知識が必要です:)。おそらく私は問題を解決する正しい方法を見つけました(私が間違っている場合はOpenGLの専門家が私を修正します)が、私の解決策は重要な部分を見逃しています。変更されたレンダラーは、ダブルパスレンダリングを実行します。
- 最初のパスでは、遠くのオブジェクトと背景を表示する必要があります。近くの平面を移動し、zバッファは満足のいくもので、地形は見栄えがしますが、近くのオブジェクトは切り取られます。
- 2番目のパスでは、投影マトリックスが近距離オブジェクト用に調整され、コックピットが表示されます。
未解決の問題: 2番目のパスでは、すべての離れたオブジェクトと背景が表示されないため、コックピットと黒い背景が背後にあります。2回目のパスの結果は、1回目のパスの結果を完全に無駄にします。エルゴ計画オーバーレイは発生しません。質問:2回目のパスでopenglに背景色を無視させて、両方のパスの結果が目的のオーバーレイを作成するようにするにはどうすればよいですか?
PSこれは現状の画像です(近距離/遠距離の平面はすべての詳細を表示するために極端にあり、投影調整なしのシングルパスです)。
http://www.flickr.com/photos/43342833@N04/5995604542/sizes/l/in/photostream/
バッファのクリアは、レンダリングサイクルごとに1回だけ発生し、2つのパスの間に関与しません。ここにクリアリングコードがあります:
あなたが説明するアプローチは、2つのパスでも使用されます:1。「長距離」の投影と地形2.「短距離」とコックピットの間はクリアされませんが、2回目のパスの後、コックピットの後ろの背景は黒になります。たぶんglDepthRange関数が役立つでしょう、マニュアルをチェックする必要があります。
zbufferの深さは24ビットです。
opengl - OpenGLが、部分的に表示ボリュームの外側にあるジオメトリシェーダーからプリミティブをクリップしないのはなぜですか?
http://www.opengl.org/wiki/Rendering_Pipeline_Overviewジオメトリシェーダーが実行された後、フラグメントがラスタライズされる前に、「表示ボリュームの内側と外側の境界にあるプリミティブがいくつかのプリミティブに分割される」と述べています。OpenGLについて私が今まで読んだ他のすべても、クリッピングプロセスを同じように説明しています。ただし、フラグメントシェーダーのgl_FragDepthを、それを生成した三角形上のポイントの実際の深度よりもカメラに近い値に設定することにより(固定をコピーした場合にフラグメントが失敗した場合に、フラグメントが深度テストに合格するように)パイプライン機能)、遠方の表示平面と部分的に重なっている場合でも、元の三角形全体に対してフラグメントが生成されていることがわかりました。一方、すべての頂点が平面の背後にある場合、
ここで何が起こっているのですか?私のジオメトリシェーダーはいくつかのデフォルト機能を置き換えますか?レンダリングパイプラインの次のステップで部分的なクリッピングを行う方法を知るために、設定する必要のあるフラグ/ヒント、または書き込む必要のある追加の組み込み変数はありますか?
NVIDIAGeForce9400MでGL_EXT_geometry_shader4拡張機能を備えたGLSLバージョン1.2を使用しています。