Search in sources :

Example 1 with GL30.glDeleteTextures

use of org.lwjgl.opengl.GL30.glDeleteTextures in project legui by SpinyOwl.

the class FBOImageExample method main.

public static void main(String[] args) throws IOException {
    System.setProperty("joml.nounsafe", Boolean.TRUE.toString());
    System.setProperty("java.awt.headless", Boolean.TRUE.toString());
    if (!GLFW.glfwInit()) {
        throw new RuntimeException("Can't initialize GLFW");
    }
    long window = glfwCreateWindow(WIDTH, HEIGHT, "FBO Image example", NULL, NULL);
    glfwShowWindow(window);
    glfwMakeContextCurrent(window);
    GL.createCapabilities();
    glfwSwapInterval(0);
    // Firstly we need to create frame component for window.
    Frame frame = new Frame(WIDTH, HEIGHT);
    // We need to create legui context which shared by renderer and event processor.
    // Also we need to pass event processor for ui events such as click on component, key typing and etc.
    Context context = new Context(window);
    // We need to create callback keeper which will hold all of callbacks.
    // These callbacks will be used in initialization of system event processor
    // (will be added callbacks which will push system events to event queue and after that processed by SystemEventProcessor)
    CallbackKeeper keeper = new DefaultCallbackKeeper();
    // register callbacks for window. Note: all previously binded callbacks will be unbinded.
    CallbackKeeper.registerCallbacks(window, keeper);
    GLFWKeyCallbackI glfwKeyCallbackI = (w1, key, code, action, mods) -> running = !(key == GLFW_KEY_ESCAPE && action != GLFW_RELEASE);
    GLFWWindowCloseCallbackI glfwWindowCloseCallbackI = w -> running = false;
    // if we want to create some callbacks for system events you should create and put them to keeper
    // 
    // Wrong:
    // glfwSetKeyCallback(window, glfwKeyCallbackI);
    // glfwSetWindowCloseCallback(window, glfwWindowCloseCallbackI);
    // 
    // Right:
    keeper.getChainKeyCallback().add(glfwKeyCallbackI);
    keeper.getChainWindowCloseCallback().add(glfwWindowCloseCallbackI);
    // Event processor for system events. System events should be processed and translated to gui events.
    SystemEventProcessor systemEventProcessor = new SystemEventProcessorImpl();
    SystemEventProcessor.addDefaultCallbacks(keeper, systemEventProcessor);
    // Also we need to create renderer provider
    // and create renderer which will render our ui components.
    Renderer renderer = new NvgRenderer();
    // Initialization finished, so we can start render loop.
    running = true;
    // Everything can be done in one thread as well as in separated threads.
    // Here is one-thread example.
    // before render loop we need to initialize renderer
    renderer.initialize();
    // //// rendering to texture and use this texture as image
    long nvgContext = 0;
    FBOImage fboTexture = null;
    boolean isVersionNew = (glGetInteger(GL_MAJOR_VERSION) > 3) || (glGetInteger(GL_MAJOR_VERSION) == 3 && glGetInteger(GL_MINOR_VERSION) >= 2);
    if (isVersionNew) {
        int flags = NanoVGGL3.NVG_STENCIL_STROKES | NanoVGGL3.NVG_ANTIALIAS;
        nvgContext = NanoVGGL3.nvgCreate(flags);
    } else {
        int flags = NanoVGGL2.NVG_STENCIL_STROKES | NanoVGGL2.NVG_ANTIALIAS;
        nvgContext = NanoVGGL2.nvgCreate(flags);
    }
    if (nvgContext != 0) {
        fboTexture = createFBOTexture(textureWidth, textureHeight);
        Widget widget = new Widget(10, 10, 100, 100);
        widget.setCloseable(false);
        widget.setMinimizable(false);
        widget.setResizable(true);
        widget.getContainer().getStyle().setDisplay(DisplayType.FLEX);
        ImageView imageView = new ImageView(fboTexture);
        imageView.setPosition(10, 10);
        imageView.getStyle().setPosition(PositionType.RELATIVE);
        imageView.getStyle().getFlexStyle().setFlexGrow(1);
        imageView.getStyle().setMargin(10f);
        imageView.getStyle().setMinimumSize(50, 50);
        widget.getContainer().add(imageView);
        frame.getContainer().add(widget);
    }
    while (running) {
        if (fboTexture != null) {
            renderToFBO(nvgContext);
        }
        // Before rendering we need to update context with window size and window framebuffer size
        // {
        // int[] windowWidth = {0}, windowHeight = {0};
        // GLFW.glfwGetWindowSize(window, windowWidth, windowHeight);
        // int[] frameBufferWidth = {0}, frameBufferHeight = {0};
        // GLFW.glfwGetFramebufferSize(window, frameBufferWidth, frameBufferHeight);
        // int[] xpos = {0}, ypos = {0};
        // GLFW.glfwGetWindowPos(window, xpos, ypos);
        // double[] mx = {0}, my = {0};
        // GLFW.glfwGetCursorPos(window, mx, my);
        // 
        // context.update(windowWidth[0], windowHeight[0],
        // frameBufferWidth[0], frameBufferHeight[0],
        // xpos[0], ypos[0],
        // mx[0], my[0]
        // );
        // }
        // Also we can do it in one line
        context.updateGlfwWindow();
        Vector2i windowSize = context.getFramebufferSize();
        glClearColor(1, 1, 1, 1);
        // Set viewport size
        glViewport(0, 0, windowSize.x, windowSize.y);
        // Clear screen
        glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
        // render frame
        renderer.render(frame, context);
        // poll events to callbacks
        glfwPollEvents();
        glfwSwapBuffers(window);
        // Now we need to process events. Firstly we need to process system events.
        systemEventProcessor.processEvents(frame, context);
        // When system events are translated to GUI events we need to process them.
        // This event processor calls listeners added to ui components
        EventProcessorProvider.getInstance().processEvents();
        // When everything done we need to relayout components.
        LayoutManager.getInstance().layout(frame);
        // Run animations. Should be also called cause some components use animations for updating state.
        AnimatorProvider.getAnimator().runAnimations();
    }
    if (nvgContext != 0) {
        glDeleteRenderbuffers(renderBufferID);
        glDeleteTextures(textureID);
        glDeleteFramebuffers(frameBufferID);
        if (isVersionNew) {
            NanoVGGL3.nnvgDelete(nvgContext);
        } else {
            NanoVGGL2.nnvgDelete(nvgContext);
        }
    }
    // And when rendering is ended we need to destroy renderer
    renderer.destroy();
    glfwDestroyWindow(window);
    glfwTerminate();
}
Also used : Context(com.spinyowl.legui.system.context.Context) GLFW.glfwDestroyWindow(org.lwjgl.glfw.GLFW.glfwDestroyWindow) GLFW_RELEASE(org.lwjgl.glfw.GLFW.GLFW_RELEASE) NanoVG.nvgEndFrame(org.lwjgl.nanovg.NanoVG.nvgEndFrame) GLFW.glfwCreateWindow(org.lwjgl.glfw.GLFW.glfwCreateWindow) GLFW.glfwPollEvents(org.lwjgl.glfw.GLFW.glfwPollEvents) GLFW.glfwSwapInterval(org.lwjgl.glfw.GLFW.glfwSwapInterval) GL30.glDisable(org.lwjgl.opengl.GL30.glDisable) GL_COLOR_BUFFER_BIT(org.lwjgl.opengl.GL30.GL_COLOR_BUFFER_BIT) NanoVG.nvgStroke(org.lwjgl.nanovg.NanoVG.nvgStroke) GL_ONE_MINUS_SRC_ALPHA(org.lwjgl.opengl.GL30.GL_ONE_MINUS_SRC_ALPHA) NULL(org.lwjgl.system.MemoryUtil.NULL) GL_COLOR_ATTACHMENT0(org.lwjgl.opengl.GL30.GL_COLOR_ATTACHMENT0) GL_RGBA(org.lwjgl.opengl.GL30.GL_RGBA) Renderer(com.spinyowl.legui.system.renderer.Renderer) GL30.glBindFramebuffer(org.lwjgl.opengl.GL30.glBindFramebuffer) GL_SRC_ALPHA(org.lwjgl.opengl.GL30.GL_SRC_ALPHA) CallbackKeeper(com.spinyowl.legui.system.context.CallbackKeeper) GLFW.glfwShowWindow(org.lwjgl.glfw.GLFW.glfwShowWindow) GL30.glDeleteTextures(org.lwjgl.opengl.GL30.glDeleteTextures) LayoutManager(com.spinyowl.legui.system.layout.LayoutManager) GL30.glRenderbufferStorage(org.lwjgl.opengl.GL30.glRenderbufferStorage) GL30.glDrawBuffer(org.lwjgl.opengl.GL30.glDrawBuffer) PositionType(com.spinyowl.legui.style.Style.PositionType) NVGColor(org.lwjgl.nanovg.NVGColor) Frame(com.spinyowl.legui.component.Frame) GL30.glDeleteFramebuffers(org.lwjgl.opengl.GL30.glDeleteFramebuffers) GLFW.glfwTerminate(org.lwjgl.glfw.GLFW.glfwTerminate) GLFWKeyCallbackI(org.lwjgl.glfw.GLFWKeyCallbackI) DefaultCallbackKeeper(com.spinyowl.legui.system.context.DefaultCallbackKeeper) GL_UNSIGNED_BYTE(org.lwjgl.opengl.GL30.GL_UNSIGNED_BYTE) GL_STENCIL_BUFFER_BIT(org.lwjgl.opengl.GL30.GL_STENCIL_BUFFER_BIT) GL30.glClearColor(org.lwjgl.opengl.GL30.glClearColor) GL_DEPTH_COMPONENT(org.lwjgl.opengl.GL30.GL_DEPTH_COMPONENT) GLFW(org.lwjgl.glfw.GLFW) GLFW.glfwMakeContextCurrent(org.lwjgl.glfw.GLFW.glfwMakeContextCurrent) EventProcessorProvider(com.spinyowl.legui.listener.processor.EventProcessorProvider) GL30.glGenRenderbuffers(org.lwjgl.opengl.GL30.glGenRenderbuffers) GL30.glGenTextures(org.lwjgl.opengl.GL30.glGenTextures) FBOImage(com.spinyowl.legui.image.FBOImage) Vector2i(org.joml.Vector2i) GL_TEXTURE_MIN_FILTER(org.lwjgl.opengl.GL30.GL_TEXTURE_MIN_FILTER) GL30.glTexImage2D(org.lwjgl.opengl.GL30.glTexImage2D) NanoVGGL2(org.lwjgl.nanovg.NanoVGGL2) GLFW.glfwSwapBuffers(org.lwjgl.glfw.GLFW.glfwSwapBuffers) GL30.glBindTexture(org.lwjgl.opengl.GL30.glBindTexture) GL_MINOR_VERSION(org.lwjgl.opengl.GL30.GL_MINOR_VERSION) GL32.glFramebufferTexture(org.lwjgl.opengl.GL32.glFramebufferTexture) NanoVG.nvgFill(org.lwjgl.nanovg.NanoVG.nvgFill) GL30(org.lwjgl.opengl.GL30) ImageView(com.spinyowl.legui.component.ImageView) NanoVGGL3(org.lwjgl.nanovg.NanoVGGL3) NanoVG.nvgStrokeColor(org.lwjgl.nanovg.NanoVG.nvgStrokeColor) GL_TEXTURE_MAG_FILTER(org.lwjgl.opengl.GL30.GL_TEXTURE_MAG_FILTER) GL30.glEnable(org.lwjgl.opengl.GL30.glEnable) GLFWWindowCloseCallbackI(org.lwjgl.glfw.GLFWWindowCloseCallbackI) GL_RENDERBUFFER(org.lwjgl.opengl.GL30.GL_RENDERBUFFER) GL_BLEND(org.lwjgl.opengl.GL30.GL_BLEND) GL30.glFramebufferRenderbuffer(org.lwjgl.opengl.GL30.glFramebufferRenderbuffer) NvgRenderer(com.spinyowl.legui.system.renderer.nvg.NvgRenderer) Context(com.spinyowl.legui.system.context.Context) SystemEventProcessorImpl(com.spinyowl.legui.system.handler.processor.SystemEventProcessorImpl) GL30.glClear(org.lwjgl.opengl.GL30.glClear) GL_TEXTURE_2D(org.lwjgl.opengl.GL30.GL_TEXTURE_2D) IOException(java.io.IOException) NanoVG.nvgBeginPath(org.lwjgl.nanovg.NanoVG.nvgBeginPath) NanoVG.nvgBeginFrame(org.lwjgl.nanovg.NanoVG.nvgBeginFrame) GL_MAJOR_VERSION(org.lwjgl.opengl.GL30.GL_MAJOR_VERSION) AnimatorProvider(com.spinyowl.legui.animation.AnimatorProvider) SystemEventProcessor(com.spinyowl.legui.system.handler.processor.SystemEventProcessor) DisplayType(com.spinyowl.legui.style.Style.DisplayType) GL30.glDeleteRenderbuffers(org.lwjgl.opengl.GL30.glDeleteRenderbuffers) NanoVG.nvgRotate(org.lwjgl.nanovg.NanoVG.nvgRotate) GL30.glViewport(org.lwjgl.opengl.GL30.glViewport) GL30.glBindRenderbuffer(org.lwjgl.opengl.GL30.glBindRenderbuffer) GL30.glBlendFunc(org.lwjgl.opengl.GL30.glBlendFunc) GL_FRAMEBUFFER(org.lwjgl.opengl.GL30.GL_FRAMEBUFFER) GL_NEAREST(org.lwjgl.opengl.GL30.GL_NEAREST) NanoVG.nvgFillColor(org.lwjgl.nanovg.NanoVG.nvgFillColor) GL30.glTexParameteri(org.lwjgl.opengl.GL30.glTexParameteri) Widget(com.spinyowl.legui.component.Widget) GLFW_KEY_ESCAPE(org.lwjgl.glfw.GLFW.GLFW_KEY_ESCAPE) GL_DEPTH_ATTACHMENT(org.lwjgl.opengl.GL30.GL_DEPTH_ATTACHMENT) GL30.glGetInteger(org.lwjgl.opengl.GL30.glGetInteger) NanoVG.nvgRect(org.lwjgl.nanovg.NanoVG.nvgRect) NanoVG.nvgTranslate(org.lwjgl.nanovg.NanoVG.nvgTranslate) GL(org.lwjgl.opengl.GL) GLFWKeyCallbackI(org.lwjgl.glfw.GLFWKeyCallbackI) NanoVG.nvgEndFrame(org.lwjgl.nanovg.NanoVG.nvgEndFrame) Frame(com.spinyowl.legui.component.Frame) NanoVG.nvgBeginFrame(org.lwjgl.nanovg.NanoVG.nvgBeginFrame) CallbackKeeper(com.spinyowl.legui.system.context.CallbackKeeper) DefaultCallbackKeeper(com.spinyowl.legui.system.context.DefaultCallbackKeeper) Widget(com.spinyowl.legui.component.Widget) NvgRenderer(com.spinyowl.legui.system.renderer.nvg.NvgRenderer) GLFWWindowCloseCallbackI(org.lwjgl.glfw.GLFWWindowCloseCallbackI) DefaultCallbackKeeper(com.spinyowl.legui.system.context.DefaultCallbackKeeper) SystemEventProcessorImpl(com.spinyowl.legui.system.handler.processor.SystemEventProcessorImpl) Renderer(com.spinyowl.legui.system.renderer.Renderer) NvgRenderer(com.spinyowl.legui.system.renderer.nvg.NvgRenderer) ImageView(com.spinyowl.legui.component.ImageView) Vector2i(org.joml.Vector2i) FBOImage(com.spinyowl.legui.image.FBOImage) SystemEventProcessor(com.spinyowl.legui.system.handler.processor.SystemEventProcessor)

Example 2 with GL30.glDeleteTextures

use of org.lwjgl.opengl.GL30.glDeleteTextures in project gaiasky by langurmonkey.

the class GaiaSky method create.

@Override
public void create() {
    startTime = TimeUtils.millis();
    // Log level
    Gdx.app.setLogLevel(debugMode ? Application.LOG_DEBUG : Application.LOG_INFO);
    Logger.level = debugMode ? Logger.LoggerLevel.DEBUG : Logger.LoggerLevel.INFO;
    consoleLogger = new ConsoleLogger();
    if (debugMode)
        logger.debug("Logging level set to DEBUG");
    // Init graphics and window
    graphics = Gdx.graphics;
    window = headless ? null : ((Lwjgl3Graphics) graphics).getWindow();
    // Basic info
    logger.info(settings.version.version, I18n.txt("gui.build", settings.version.build));
    logger.info("Display mode", graphics.getWidth() + "x" + graphics.getHeight(), "Fullscreen: " + Gdx.graphics.isFullscreen());
    logger.info("Device", GL30.glGetString(GL30.GL_RENDERER));
    logger.info(I18n.txt("notif.glversion", GL30.glGetString(GL30.GL_VERSION)));
    logger.info(I18n.txt("notif.glslversion", GL30.glGetString(GL30.GL_SHADING_LANGUAGE_VERSION)));
    logger.info(I18n.txt("notif.javaversion", System.getProperty("java.version"), System.getProperty("java.vendor")));
    // Frame buffer map
    frameBufferMap = new HashMap<>();
    // Disable all kinds of input
    EventManager.publish(Event.INPUT_ENABLED_CMD, this, false);
    if (!settings.initialized) {
        logger.error(new RuntimeException(I18n.txt("notif.error", "global configuration not initialized")));
        return;
    }
    // Initialise times
    final ITimeFrameProvider clock = new GlobalClock(1, Instant.now());
    final ITimeFrameProvider real = new RealTimeClock();
    time = settings.runtime.realTime ? real : clock;
    t = 0;
    // Initialise i18n
    I18n.initialize();
    // Tooltips
    TooltipManager.getInstance().initialTime = 1f;
    TooltipManager.getInstance().hideAll();
    // Initialise asset manager
    final FileHandleResolver internalResolver = new InternalFileHandleResolver();
    final FileHandleResolver dataResolver = fileName -> settings.data.dataFileHandle(fileName);
    assetManager = new AssetManager(internalResolver);
    assetManager.setLoader(com.badlogic.gdx.graphics.Texture.class, ".pfm", new PFMTextureLoader(dataResolver));
    assetManager.setLoader(PFMData.class, new PFMDataLoader(dataResolver));
    assetManager.setLoader(ISceneGraph.class, new SGLoader(dataResolver));
    assetManager.setLoader(PointCloudData.class, new OrbitDataLoader(dataResolver));
    assetManager.setLoader(GaiaAttitudeServer.class, new GaiaAttitudeLoader(dataResolver));
    assetManager.setLoader(ExtShaderProgram.class, new ShaderProgramProvider(internalResolver, ".vertex.glsl", ".fragment.glsl"));
    assetManager.setLoader(BitmapFont.class, new BitmapFontLoader(internalResolver));
    assetManager.setLoader(AtmosphereShaderProvider.class, new AtmosphereShaderProviderLoader<>(internalResolver));
    assetManager.setLoader(GroundShaderProvider.class, new GroundShaderProviderLoader<>(internalResolver));
    assetManager.setLoader(TessellationShaderProvider.class, new TessellationShaderProviderLoader<>(internalResolver));
    assetManager.setLoader(RelativisticShaderProvider.class, new RelativisticShaderProviderLoader<>(internalResolver));
    assetManager.setLoader(IntModel.class, ".obj", new OwnObjLoader(new RegularInputStreamProvider(), internalResolver));
    assetManager.setLoader(IntModel.class, ".obj.gz", new OwnObjLoader(new GzipInputStreamProvider(), internalResolver));
    assetManager.setLoader(IntModel.class, ".g3dj", new G3dModelLoader(new JsonReader(), internalResolver));
    assetManager.setLoader(IntModel.class, ".g3db", new G3dModelLoader(new UBJsonReader(), internalResolver));
    // Remove Model loaders
    // Init global resources
    this.globalResources = new GlobalResources(assetManager);
    // Initialize screenshots manager
    new ScreenshotsManager(globalResources);
    // Catalog manager
    this.catalogManager = new CatalogManager();
    this.scripting = new EventScriptingInterface(this.assetManager, this.catalogManager);
    // Initialise master manager
    MasterManager.initialize();
    // Load slave assets
    SlaveManager.load(assetManager);
    // Initialise dataset updater
    this.executorService = new GaiaSkyExecutorService();
    // Bookmarks
    this.bookmarksManager = new BookmarksManager();
    // Location log
    LocationLogManager.initialize();
    // Init timer thread
    Timer.instance();
    // Initialise Cameras
    cameraManager = new CameraManager(assetManager, CameraMode.FOCUS_MODE, vr, globalResources);
    // Set asset manager to asset bean
    AssetBean.setAssetManager(assetManager);
    // Create vr context if possible
    final VRStatus vrStatus = createVR();
    cameraManager.updateFrustumPlanes();
    // Tooltip to 1s
    TooltipManager.getInstance().initialTime = 1f;
    // Initialise Gaia attitudes
    assetManager.load(Constants.ATTITUDE_FOLDER, GaiaAttitudeServer.class, new GaiaAttitudeLoaderParameter());
    // Initialise hidden helper user
    HiddenHelperUser.initialize();
    // Initialise gravitational waves helper
    RelativisticEffectsManager.initialize(time);
    // GUI
    guis = new ArrayList<>(3);
    // Post-processor
    postProcessor = PostProcessorFactory.instance.getPostProcessor();
    // Scene graph renderer
    sgr = new SceneGraphRenderer(vrContext, globalResources);
    sgr.initialize(assetManager);
    // Initialise scripting gateway server
    if (!noScripting)
        ScriptingServer.initialize();
    // Tell the asset manager to load all the assets
    final Set<AssetBean> assets = AssetBean.getAssets();
    for (AssetBean ab : assets) {
        ab.load(assetManager);
    }
    renderBatch = globalResources.getSpriteBatch();
    EventManager.instance.subscribe(this, Event.LOAD_DATA_CMD);
    welcomeGui = new WelcomeGui(globalResources.getSkin(), graphics, 1f / settings.program.ui.scale, skipWelcome, vrStatus);
    welcomeGui.initialize(assetManager, globalResources.getSpriteBatch());
    Gdx.input.setInputProcessor(welcomeGui.getGuiStage());
    if (settings.runtime.openVr) {
        welcomeGuiVR = new VRGui<>(WelcomeGuiVR.class, (int) (settings.graphics.backBufferResolution[0] / 2f), globalResources.getSkin(), graphics, 1f / settings.program.ui.scale);
        welcomeGuiVR.initialize(assetManager, globalResources.getSpriteBatch());
    }
    // GL clear state
    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClearDepthf(1f);
}
Also used : ICamera(gaiasky.scenegraph.camera.ICamera) RegularInputStreamProvider(gaiasky.util.gdx.loader.is.RegularInputStreamProvider) SysUtils(gaiasky.desktop.util.SysUtils) Task(com.badlogic.gdx.utils.Timer.Task) TooltipManager(com.badlogic.gdx.scenes.scene2d.ui.TooltipManager) Logger(gaiasky.util.Logger) GL20(com.badlogic.gdx.graphics.GL20) PingPongBuffer(gaiasky.util.gdx.contrib.postprocess.utils.PingPongBuffer) IObserver(gaiasky.event.IObserver) RenderType(gaiasky.render.IPostProcessor.RenderType) VRCompositor(org.lwjgl.openvr.VRCompositor) gaiasky.util.gdx.loader(gaiasky.util.gdx.loader) RelativisticEffectsManager(gaiasky.util.gravwaves.RelativisticEffectsManager) gaiasky.interafce(gaiasky.interafce) GaiaSkyExecutorService(gaiasky.util.ds.GaiaSkyExecutorService) Path(java.nio.file.Path) EventScriptingInterface(gaiasky.script.EventScriptingInterface) InternalFileHandleResolver(com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver) GzipInputStreamProvider(gaiasky.util.gdx.loader.is.GzipInputStreamProvider) PointCloudData(gaiasky.data.util.PointCloudData) AssetManager(com.badlogic.gdx.assets.AssetManager) SAMPClient(gaiasky.util.samp.SAMPClient) Event(gaiasky.event.Event) VRContext(gaiasky.vr.openvr.VRContext) com.badlogic.gdx(com.badlogic.gdx) Lwjgl3WindowConfiguration(com.badlogic.gdx.backends.lwjgl3.Lwjgl3WindowConfiguration) HiddenHelperUser(gaiasky.script.HiddenHelperUser) Instant(java.time.Instant) AssetBean(gaiasky.data.AssetBean) IScriptingInterface(gaiasky.script.IScriptingInterface) Texture(org.lwjgl.openvr.Texture) StreamingOctreeLoader(gaiasky.data.StreamingOctreeLoader) CameraManager(gaiasky.scenegraph.camera.CameraManager) gaiasky.assets(gaiasky.assets) OctreeNode(gaiasky.util.tree.OctreeNode) EventManager(gaiasky.event.EventManager) CrashReporter(gaiasky.desktop.util.CrashReporter) CameraMode(gaiasky.scenegraph.camera.CameraManager.CameraMode) java.util(java.util) Attribute(gaiasky.util.gdx.shader.attribute.Attribute) GaiaAttitudeServer(gaiasky.util.gaia.GaiaAttitudeServer) GL30(org.lwjgl.opengl.GL30) PostProcessBean(gaiasky.render.IPostProcessor.PostProcessBean) ScreenshotsManager(gaiasky.screenshot.ScreenshotsManager) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) FileHandleResolver(com.badlogic.gdx.assets.loaders.FileHandleResolver) Lwjgl3Window(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window) RealTimeClock(gaiasky.util.time.RealTimeClock) gaiasky.scenegraph(gaiasky.scenegraph) ScriptingServer(gaiasky.script.ScriptingServer) com.badlogic.gdx.utils(com.badlogic.gdx.utils) VRDevice(gaiasky.vr.openvr.VRContext.VRDevice) Format(com.badlogic.gdx.graphics.Pixmap.Format) ModelComponent(gaiasky.scenegraph.component.ModelComponent) GlobalClock(gaiasky.util.time.GlobalClock) FrameBuffer(com.badlogic.gdx.graphics.glutils.FrameBuffer) gaiasky.render(gaiasky.render) Lwjgl3Application(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application) SpriteBatch(com.badlogic.gdx.graphics.g2d.SpriteBatch) VRDeviceType(gaiasky.vr.openvr.VRContext.VRDeviceType) Timer(com.badlogic.gdx.utils.Timer) ComponentType(gaiasky.render.ComponentTypes.ComponentType) BitmapFont(gaiasky.util.gdx.g2d.BitmapFont) GaiaAttitudeLoaderParameter(gaiasky.assets.GaiaAttitudeLoader.GaiaAttitudeLoaderParameter) Lwjgl3Graphics(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics) gaiasky.util(gaiasky.util) IntModel(gaiasky.util.gdx.model.IntModel) SGLoaderParameter(gaiasky.assets.SGLoader.SGLoaderParameter) ITimeFrameProvider(gaiasky.util.time.ITimeFrameProvider) File(java.io.File) VR(org.lwjgl.openvr.VR) VRStatus(gaiasky.vr.openvr.VRStatus) Log(gaiasky.util.Logger.Log) gaiasky.util.gdx.shader(gaiasky.util.gdx.shader) GaiaSkyExecutorService(gaiasky.util.ds.GaiaSkyExecutorService) GaiaAttitudeLoaderParameter(gaiasky.assets.GaiaAttitudeLoader.GaiaAttitudeLoaderParameter) ScreenshotsManager(gaiasky.screenshot.ScreenshotsManager) Lwjgl3Graphics(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics) InternalFileHandleResolver(com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver) FileHandleResolver(com.badlogic.gdx.assets.loaders.FileHandleResolver) VRStatus(gaiasky.vr.openvr.VRStatus) ITimeFrameProvider(gaiasky.util.time.ITimeFrameProvider) EventScriptingInterface(gaiasky.script.EventScriptingInterface) AssetManager(com.badlogic.gdx.assets.AssetManager) RealTimeClock(gaiasky.util.time.RealTimeClock) GzipInputStreamProvider(gaiasky.util.gdx.loader.is.GzipInputStreamProvider) CameraManager(gaiasky.scenegraph.camera.CameraManager) AssetBean(gaiasky.data.AssetBean) InternalFileHandleResolver(com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver) GlobalClock(gaiasky.util.time.GlobalClock) RegularInputStreamProvider(gaiasky.util.gdx.loader.is.RegularInputStreamProvider)

Aggregations

GL30 (org.lwjgl.opengl.GL30)2 com.badlogic.gdx (com.badlogic.gdx)1 AssetManager (com.badlogic.gdx.assets.AssetManager)1 FileHandleResolver (com.badlogic.gdx.assets.loaders.FileHandleResolver)1 InternalFileHandleResolver (com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver)1 Lwjgl3Application (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application)1 Lwjgl3Graphics (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics)1 Lwjgl3Window (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window)1 Lwjgl3WindowConfiguration (com.badlogic.gdx.backends.lwjgl3.Lwjgl3WindowConfiguration)1 GL20 (com.badlogic.gdx.graphics.GL20)1 Format (com.badlogic.gdx.graphics.Pixmap.Format)1 SpriteBatch (com.badlogic.gdx.graphics.g2d.SpriteBatch)1 FrameBuffer (com.badlogic.gdx.graphics.glutils.FrameBuffer)1 TooltipManager (com.badlogic.gdx.scenes.scene2d.ui.TooltipManager)1 com.badlogic.gdx.utils (com.badlogic.gdx.utils)1 Timer (com.badlogic.gdx.utils.Timer)1 Task (com.badlogic.gdx.utils.Timer.Task)1 AnimatorProvider (com.spinyowl.legui.animation.AnimatorProvider)1 Frame (com.spinyowl.legui.component.Frame)1 ImageView (com.spinyowl.legui.component.ImageView)1