スイング UI を OpenGl テクスチャにレンダリングしようとしています。これまでのところ機能するのはこのコードだけです (ところで、これは Scala ですが、明らかなはずです)
var image = new BufferedImage( width, height, BufferedImage.TYPE_4BYTE_ABGR)
mainFrame.paint(image.getGraphics)
var outputfile = new File("saved.png")
ImageIO.write(image, "png", outputfile)
しかし、それらのものはまだ欠けています:
- 必要に応じて glTextures を更新できるように、Swing コンポーネントの何かが変更されたときに通知を受ける必要があります。
- Swing ウィンドウへのレンダリングを無効にする必要があります
- テクスチャ上に投影されたマウスの位置を使用できるように、仮想マウスがあれば便利です。
- 動的キーボード処理。UI がアクティブである限り、キーボード処理をアクティブにできます。それ以外の場合は、LWJGL 入力処理を使用します。
最初の 2 つの問題に対処する最善の方法は、すべての swing コンポーネントを描画するために使用される Graphics オブジェクトへの Decorator だと思いますが、そのクラスのバリエーションを Swing に埋め込む方法が見つかりませんでした。
それでいいと思います。しかし、私の問題をすでに解決したライブラリを知っていれば大歓迎ですが、TWL はお勧めしません。