Class GLFWRenderModuleEntrypoint
- All Implemented Interfaces:
ModuleInitializer
main entrypoint.
Implements the render module's window and input abstractions using GLFW. It depends on the render module, so it blocks during initialization until that module's entrypoint is handed to it, then hands itself to modules that build on GLFW — the Vulkan GLFW render module.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns this module's configuration.Returns the queue by which this module receives the entrypoints it depends on.Returns the logger this module writes its diagnostics to.voidBrings this module up.protected voidBlocks until the render module's entrypoint has been handed to this module.
-
Constructor Details
-
GLFWRenderModuleEntrypoint
public GLFWRenderModuleEntrypoint()Creates the GLFW render module's entrypoint.Called by the loader; GLFW is not initialised until a window is opened.
-
-
Method Details
-
onInitialize
public void onInitialize()Description copied from interface:ModuleInitializerBrings this module up.An implementation sets its logger's level from the engine's configuration, loads its own configuration and saves it if loading substituted defaults, receives any dependencies it declares through
ModuleInitializer.getDependencyModuleTransferQueue(), performs any operations it must perform during initialization, and finally invokes its own dependent entrypoints, passing itself.- Specified by:
onInitializein interfaceModuleInitializer
-
recieveDependenciesFromTransferQueue
Blocks until the render module's entrypoint has been handed to this module.Takes exactly one element, this module declaring exactly one dependency.
- Throws:
InterruptedException- if interrupted while waiting for the dependency
-
getConfig
Description copied from interface:ModuleInitializerReturns this module's configuration.- Specified by:
getConfigin interfaceModuleInitializer- Returns:
- the configuration, or
nullbeforeModuleInitializer.onInitialize()has loaded it
-
getLogger
Description copied from interface:ModuleInitializerReturns the logger this module writes its diagnostics to.The same instance is returned for the lifetime of this entrypoint.
- Specified by:
getLoggerin interfaceModuleInitializer- Returns:
- this module's logger
-
getDependencyModuleTransferQueue
Description copied from interface:ModuleInitializerReturns the queue by which this module receives the entrypoints it depends on.A module does not look its dependencies up. Each module it depends on invokes a dependent entrypoint, which transfers that module's own entrypoint into this queue. The same instance is returned for the lifetime of this entrypoint; a fresh or defensively copied queue breaks the handshake, because the producer transfers into whichever queue this method returned.
- Specified by:
getDependencyModuleTransferQueuein interfaceModuleInitializer- Returns:
- this module's dependency transfer queue
-