WebGLに基づくOpenVG標準のJavaScript実装はありますか?OpenVGとWebGL
私は、ベクターグラフィックをブラウザでレンダリングできることをよく知っていますが、OpenVG標準に基づいていてもいなくても、誰でも実際にWebGLでSVGをレンダリングすることができたのかどうか不思議です。存在しない場合は、プロジェクトを開始すると便利でしょうか?
WebGLに基づくOpenVG標準のJavaScript実装はありますか?OpenVGとWebGL
私は、ベクターグラフィックをブラウザでレンダリングできることをよく知っていますが、OpenVG標準に基づいていてもいなくても、誰でも実際にWebGLでSVGをレンダリングすることができたのかどうか不思議です。存在しない場合は、プロジェクトを開始すると便利でしょうか?
まあ、これらの答えのどれも、明示的に質問に答えません。 @tomはそうだとわかります。私たちは、きちんとしたステンシルを使ってwebglキャンバス上にベクターグラフィックスをレンダリングすることができます。これはOpenVG仕様の完全な実装ではなく、OpenVG仕様のどれくらいがこのように実装できるのか不思議です。したがって、結論には:
現在のところ、実装はありませんが、特定の需要があるようには見えません。
WebGLはほかのHTML(5)技術とうまく組み合わせるので、すでに混在させることができます。唯一のことは、3Dワールド(WebGL)に配置されたロゴタイプ(SVG)など、深度バッファを使用してSVGとWebGLを混在させることができないことです。しかし、それはちょうどあなたがしたいことですか?
目的は、ゲーム用のハードウェアアクセラレーションされたベクトルグラフィックをシェーダをサポートすることです。 –
OpenGL 1.xでSVGを解析してレンダリングするためのCコードです:https://github.com/tnovelli/vsprite。あなたが探しているものではないかもしれません。我々は、2Dポリゴンを描くためにステンシルバッファトリックを使用しました。 3Dの場合は、画面外のバッファにレンダリングし、3Dオブジェクトにテクスチャマップする必要があります。 (なぜ私たちのオブジェクトは破壊可能で変形可能なので、SVGをラスターイメージに事前レンダリングしないのですか?)
私はこれをJavascript + WebGLに移植しようと考えています。ブラウザのXML/SVG/CSS解析機能は、多くの作業を排除するはずですが、ステンシルのトリックは難題です。これは私のためのバックバーナープロジェクトなので、他の誰かが何かを試したいと思ったら、あなたの息を止めないでください! :)
きちんとチェックしておきます。 –
ステンシルトリックが動作します。ここでは簡単なテストがあります:https://github.com/tnovelli/vsprite/tree/master/webgl –
私はあなたがそこに持っている素敵なコードだと言います。 –
"存在しない場合は、プロジェクトを開始すると便利でしょうか?"どのようにそれができますか?あなた自身が指摘しているように、ベクターグラフィックスをうまくやることができます。また、JavaScriptアプリケーションをCanvasの描画からブラウザ外のスタンドアロンアプリケーション(OpenVGを使いたい場所)に直接移植することは間違いありません。だから何がポイントですか? –
要は、ベクターグラフィックスと3Dレンダリンググラフィックスを混在させることについての最初のことはわかりません。誰もそれをしたくないと主張すれば、あなたは基本的にいいえではないと言っています。それは役に立たないのです。しかし、WebGLのコンテキスト内ではベクトルグラフィックスにはかなりの可能性があります。特に、パフォーマンス面ではゲームには適していますが、コンテンツタイプを混在させてシェーダーを適用できるためです。 –