rendering hardware data
This commit is contained in:
		
							parent
							
								
									a375e1a686
								
							
						
					
					
						commit
						acf86bcfa2
					
				| @ -13,6 +13,16 @@ struct Material { | ||||
|       */ | ||||
|     sampler2D specular; | ||||
| 
 | ||||
|     /** | ||||
|       * The normal sampler | ||||
|       */ | ||||
|     sampler2D normal; | ||||
| 
 | ||||
|     /** | ||||
|       * The reflection map | ||||
|       */ | ||||
|     sampler2D parallax; | ||||
| 
 | ||||
|     /** | ||||
|       * The shininess value | ||||
|       */ | ||||
|  | ||||
| @ -1907,6 +1907,7 @@ Material albedo work | ||||
| Editor entities don't use charges on placing blocks | ||||
| Overhaul material loading - uses queued textures now | ||||
| Transparent block support | ||||
| Grab hardware data on init rendering engine | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -36,6 +36,7 @@ import electrosphere.renderer.debug.DebugRendering; | ||||
| import electrosphere.renderer.framebuffer.Framebuffer; | ||||
| import electrosphere.renderer.framebuffer.FramebufferUtils; | ||||
| import electrosphere.renderer.framebuffer.Renderbuffer; | ||||
| import electrosphere.renderer.hw.HardwareData; | ||||
| import electrosphere.renderer.light.LightManager; | ||||
| import electrosphere.renderer.model.Material; | ||||
| import electrosphere.renderer.pipelines.CompositePipeline; | ||||
| @ -66,6 +67,11 @@ public class RenderingEngine { | ||||
|      * Handle for the window created by glfw | ||||
|      */ | ||||
|     private long windowPtr = -1; | ||||
| 
 | ||||
|     /** | ||||
|      * The glfw hardware data | ||||
|      */ | ||||
|     public HardwareData hardwareData; | ||||
|      | ||||
|      | ||||
|     public static final int GL_DEFAULT_FRAMEBUFFER = 0; | ||||
| @ -244,6 +250,10 @@ public class RenderingEngine { | ||||
|             "Error code: " + this.getGLFWErrorMessage(this.getGLFWError()); | ||||
|             throw new IllegalStateException(message); | ||||
|         } | ||||
| 
 | ||||
|         //grab hardware data | ||||
|         this.hardwareData = new HardwareData(); | ||||
| 
 | ||||
|         //Gives hints to glfw to control how opengl will be used | ||||
|         GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_VERSION_MAJOR, 4); | ||||
|         GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_VERSION_MINOR, 5); | ||||
|  | ||||
							
								
								
									
										33
									
								
								src/main/java/electrosphere/renderer/hw/HardwareData.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/main/java/electrosphere/renderer/hw/HardwareData.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| package electrosphere.renderer.hw; | ||||
| 
 | ||||
| import java.util.LinkedList; | ||||
| import java.util.List; | ||||
| 
 | ||||
| import org.lwjgl.PointerBuffer; | ||||
| import org.lwjgl.glfw.GLFW; | ||||
| 
 | ||||
| /** | ||||
|  * Data about the renderer hardware | ||||
|  */ | ||||
| public class HardwareData { | ||||
| 
 | ||||
|     /** | ||||
|      * The list of monitors available | ||||
|      */ | ||||
|     public final List<MonitorData> monitors = new LinkedList<MonitorData>(); | ||||
|      | ||||
|     /** | ||||
|      * Constructor | ||||
|      */ | ||||
|     public HardwareData(){ | ||||
|         PointerBuffer monitorBuff = GLFW.glfwGetMonitors(); | ||||
|         if(monitorBuff != null){ | ||||
|             while(monitorBuff.hasRemaining()){ | ||||
|                 long id = monitorBuff.get(); | ||||
|                 String name = GLFW.glfwGetMonitorName(id); | ||||
|                 monitors.add(new MonitorData(id, name)); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										28
									
								
								src/main/java/electrosphere/renderer/hw/MonitorData.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/main/java/electrosphere/renderer/hw/MonitorData.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| package electrosphere.renderer.hw; | ||||
| 
 | ||||
| /** | ||||
|  * Data about a monitor | ||||
|  */ | ||||
| public class MonitorData { | ||||
|      | ||||
|     /** | ||||
|      * The window id of the monitor | ||||
|      */ | ||||
|     public final long windowId; | ||||
| 
 | ||||
|     /** | ||||
|      * The name of the monitor | ||||
|      */ | ||||
|     public final String name; | ||||
| 
 | ||||
|     /** | ||||
|      * Constructor | ||||
|      * @param windowId The window id of the monitor | ||||
|      * @param name The name of the monitor | ||||
|      */ | ||||
|     public MonitorData(long windowId, String name){ | ||||
|         this.windowId = windowId; | ||||
|         this.name = name; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user