Създаване на скрито платно с LWJGL - java, opengl, awt, lwjgl

Започвам да пиша графики за специална употребаи аз се облягам на използването на OpenGL за генериране на графики. Крайната цел е архитектура, която включва както 2D, така и 3D графики с основната рамка.

Експортирането на генерираните графики като изображения е aкритична характеристика и накрая ще напиша кода за генериране на векторни изображения на графиките "2D прогнози. Междувременно обаче искам да експортирам графиките като изображения с висока разделителна способност - изображения, значително по-големи от прозореца на приложението.

Пиша това приложение в Java и използвамопаковката LWJGL OpenGL. Разбрах как да направя екранни снимки на прозореца на дисплея, но не успях да създам големи изображения. Опитах се да направя невидими платна, но не мога да го направя.

В документацията се казва тук , че методът "Canvas" е "Дисплейност" () трябвавръщам истина и за тази цел съм преодолял метода isDisplayable (), за да се върне винаги вярно, така че да не се интересува дали е в рамка или не, но това не работи. Вместо това, той хвърля следната грешка:

java.lang.RuntimeException: No OpenGL context found in the current thread.
at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)
at org.lwjgl.opengl.GL20.glDeleteProgram(GL20.java:311)

Проблемът изглежда е, че той също се нуждае от някоисвойства от прозореца от най-високо ниво, но дори и когато правя манекен Клас на рамката, получавам същата грешка както преди, докато извикам setVisible (вярно) на рамката.

Някой знае ли как да фалшифицира тези графични свойства в мисълта, че има видим прозорец от най-високо ниво? Някой знае ли по-лесен начин?

Отговори:

1 за отговор № 1

Като алтернатива, можете да използвате обект framebuffer (FBO), за да направите текстура. Погледнете това превръщам в текстура пример.