タグ付けされた質問 「drawing」

2
曲線形状のハードウェアアクセラレーションによる描画
曲線形状をすばやく描画する方法は? 「すばやく」私は、ハードウェア機能をできるだけ使用するべきだと思います 「湾曲した」とは、二次または三次ベジェ曲線のいずれかによって定義された境界を意味します 「形状」とは、「太い」ストローク(つまり、幅1px以上)または偶数/奇数/ゼロ以外の塗りつぶされた「2D湾曲ポリゴン」のいずれかで、おそらく穴がある(つまり、文字「O」) 私が知っているオプションにはいくつかの欠点があるので、私は尋ねています: 形状を三角形化してOpenGLに送信する-CPUで最も困難な作業を行い、使用する三角形が少なすぎる(つまり、もったいない/粗い) テクスチャアトラス-すべての変更(形状、スケール、回転など)でテクスチャを再計算/アップロードする必要があります 符号付き距離フィールド-大規模では、詳細がきれいに見えないか、テクスチャを再計算/アップロードする必要があります NV_path_rendering-それがNvidiaのカードでのみ機能していなかった場合、それである可能性があります OpenVG-それがモバイルでのみ機能していなかった場合、それである可能性があります ? *控えめに言っても、OpenVGは正確には前進していないようです。誰かがその将来の見通しについて何か知っていますか?今日から目を離さないのは全然価値があるのでしょうか? ** OpenGL 4+は、ポリゴンのオンザフライテッセレーションの手段を提供します。形状の境界を少なくとも「斜め」に見えないように、「三角形分割」オプションからメッシュをリファインするために何らかの方法で使用できますか?

2
シェーダーは、シェーディングされたメッシュが占めるピクセルを超えて、スクリーンピクセルをペイントできますか?
ジオメトリとコンピューティングシェーダーのプログラミングの経験はありますが、フラグメントシェーダーを実際に使ってみたことはありません。現在、私はそれらがどのように機能するか、そしてそれらの可能性をよりよく理解しようとしています。私が複数の場所で読んだことの1つは、フラグメント(スクリーンピクセル)がフラグメントシェーダー内でそれ自体を超えて拡張できないことです。つまり、反復される特定のフラグメントは、それ自体にのみ影響を与えることができます。 したがって、私は学習のために、次のことが可能かどうか(可能であれば、一般的にはどのようにして達成できるか)を知りたいと思います。簡単にするために、2つの頂点のみからなるポイントメッシュ(3Dワールド空間に配置)があるとします。これらの2つの頂点のそれぞれが画面上のWorldToViewportの正確な位置に描画されるようにシェーダーをプログラムできますか。また、radius = Rの各頂点を囲む円も、それらが延長されている場合でも周囲のピクセルに描画されます。シェーダーがアタッチされている元のメッシュを超えていますか?下の図のように(円の中心にある赤い四角形が画面に描かれた頂点を表します): それが可能であれば、頂点を超えて延びるこれらの円が互いの色(RGBA)に影響を与えるように、シェーダーをプログラムすることもできますか?下の図のように: 私が言ったように、これらが可能であるなら、私はそのようなことを達成する方法の少しを概念的または実際的な面で聞きたいです。フラグメントシェーダーで行われますか、それとも頂点シェーダーまたはジオメトリシェーダーで前に計算する必要がありますか?メッシュボディが占めるフラグメントを超えて「追加のフラグメント」を計算して渡す方法は?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.