Main Menu

Recent posts

#81
Vulkan / Re: Logical device creation pr...
Last post by GhCa - November 02, 2023, 08:27:58
The report:
Current thread (0x00000209a78fde20):  JavaThread "main" [_thread_in_native, id=1448, stack(0x0000006519600000,0x0000006519700000)]

Stack: [0x0000006519600000,0x0000006519700000],  sp=0x00000065196fe358,  free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [VCRUNTIME140.dll+0x140a]
C  [VkLayer_khronos_validation.dll+0xdd2e31]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.lwjgl.system.JNI.callPPPPI(JJJJJ)I+0
j  org.lwjgl.vulkan.VK10.nvkCreateDevice(Lorg/lwjgl/vulkan/VkPhysicalDevice;JJJ)I+29
j  org.lwjgl.vulkan.VK10.vkCreateDevice(Lorg/lwjgl/vulkan/VkPhysicalDevice;Lorg/lwjgl/vulkan/VkDeviceCreateInfo;Lorg/lwjgl/vulkan/VkAllocationCallbacks;Lorg/lwjgl/PointerBuffer;)I+24
j  pers.ghostcaptain.creativecreation.view.VulkanDriver.createLogicalDevice()V+216
j  pers.ghostcaptain.creativecreation.view.VulkanDriver.initialize()V+6
j  pers.ghostcaptain.creativecreation.Main.main([Ljava/lang/String;)V+3
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000010


Register to memory mapping:

RIP=0x00007ffa3fb2140a VCRUNTIME140.dll
RAX=0x000003a620750090 points into unknown readable memory: 0x000003a620750098 | 98 00 75 20 a6 03 00 00
RBX=0x000003a6207062c8 points into unknown readable memory: 0x7069726300000002 | 02 00 00 00 63 72 69 70
RCX=0x000003a620750090 points into unknown readable memory: 0x000003a620750098 | 98 00 75 20 a6 03 00 00
RDX=0x0000000000000010 is an unknown value
RSP=0x00000065196fe358 is pointing into the stack for thread: 0x00000209a78fde20
RBP=0x000003a620750088 points into unknown readable memory: 0x000003a620750090 | 90 00 75 20 a6 03 00 00
RSI=0x0000000000000001 is an unknown value
RDI=0x0000020a26953010 points into unknown readable memory: 0x0000000000000002 | 02 00 00 00 00 00 00 00
R8 =0x0000000000000004 is an unknown value
R9 =0x00007ffa3fb2140a VCRUNTIME140.dll
R10=0x00007ffa3fb20000 VCRUNTIME140.dll
R11=0x0000000000000001 is an unknown value
R12=0x0 is NULL
R13=0xffffffffffffffff is an unknown value
R14=0x0 is NULL
R15=0x00000065196fecd0 is pointing into the stack for thread: 0x00000209a78fde20
#82
Vulkan / Logical device creation proble...
Last post by GhCa - November 02, 2023, 08:24:53
I am following the guide and Javadoc, but there is a fatal error occurs when creating logic device by function VK13.vkCreateDevice().
I have tried it for whole day, but I can't resolve it. :'(
the code:
package pers.ghostcaptain.creativecreation.view;

import org.lwjgl.PointerBuffer;
import org.lwjgl.glfw.GLFWVulkan;
import org.lwjgl.vulkan.*;
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
import java.nio.charset.StandardCharsets;

public class VulkanDriver {

    public static final ByteBuffer appName;
    public static final ByteBuffer engineName;
    public static final int whichDevice = 0; //the index of RTX3070 on my computer

    public static VkInstance vkInstance;
    public static VkPhysicalDevice physicalDevice;
    public static VkDevice logicalDevice;
    public static VkQueue graphicsQueue;

    static {
        byte[] name1 = "创éâ,¬Â Ã¤Â¸â€"ç•Å'".getBytes(StandardCharsets.UTF_8);
        appName = ByteBuffer.allocateDirect(name1.length + 1);
        appName.put(0,name1);
        appName.put(name1.length, (byte) 0);
        byte[] name2 = "No Engine".getBytes(StandardCharsets.UTF_8);
        engineName = ByteBuffer.allocateDirect(name2.length +1);
        appName.put(0,name2);
        appName.put(name1.length, (byte) 0);
    }

    public static void initialize() {
        createInstance();
        selectPhysicalDevice();
        createLogicalDevice();
    }

    public static void createInstance() {

        VkApplicationInfo appInfo = VkApplicationInfo.create();
        appInfo.sType(VK13.VK_STRUCTURE_TYPE_APPLICATION_INFO);
        appInfo.pApplicationName(appName);
        appInfo.applicationVersion(VK13.VK_MAKE_VERSION(1, 0, 0));
        appInfo.pEngineName(engineName);
        appInfo.engineVersion(VK13.VK_MAKE_VERSION(1, 0, 0));
        appInfo.apiVersion(VK13.VK_API_VERSION_1_3);

        VkInstanceCreateInfo createInfo = VkInstanceCreateInfo.create();
        createInfo.sType(VK13.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO);
        createInfo.pApplicationInfo(appInfo);
        PointerBuffer temp1 = GLFWVulkan.glfwGetRequiredInstanceExtensions();
        createInfo.ppEnabledExtensionNames(temp1);
        createInfo.ppEnabledLayerNames(null);

        PointerBuffer vkInstanceP = PointerBuffer.allocateDirect(1);
        if (VK13.vkCreateInstance(createInfo, null, vkInstanceP) != VK13.VK_SUCCESS) {
            throw new RuntimeException("启动vulkan失败!æâ€" æ³•åˆ›å»ºå®žä¾‹ï¼");
        }
        vkInstance = new VkInstance(vkInstanceP.get(0), createInfo);
    }

    public static void selectPhysicalDevice() {
        int[] temp1 = new int[1];
        if (VK13.vkEnumeratePhysicalDevices(vkInstance, temp1, null) != VK13.VK_SUCCESS) {
            throw new RuntimeException("启动vulkan失败!获åâ€"显卡失败!");
        }
        PointerBuffer temp2 = PointerBuffer.allocateDirect(temp1[0]);
        if (VK13.vkEnumeratePhysicalDevices(vkInstance, temp1, temp2) != VK13.VK_SUCCESS) {
            throw new RuntimeException("启动vulkan失败!获åâ€"显卡失败!");
        }
        physicalDevice = new VkPhysicalDevice(temp2.get(whichDevice), vkInstance);
    }

    public static void createLogicalDevice() {

        int[] temp1 = new int[1];
        VK13.vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, temp1, null);
        VkQueueFamilyProperties.Buffer temp2 = VkQueueFamilyProperties.create(temp1[0]);
        VK13.vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, temp1, temp2);
        int n = temp1[0];
        int result = -1;
        VkQueueFamilyProperties.Buffer tempQ;
        for (int i = 0; i < n; i++) {
            tempQ = temp2.slice(i,1);
            if (tempQ.queueCount() > 0 && (tempQ.queueFlags() & VK13.VK_QUEUE_GRAPHICS_BIT) > 0) {
                result = i;
                break;
            }
        }
        if (result == -1) {
            throw new RuntimeException("启动vulkan失败!没æÅ"‰å¯ç”¨çš„队åˆâ€"æâ€"ï¼");
        }

        VkDeviceQueueCreateInfo queueInfo = VkDeviceQueueCreateInfo.create();
        queueInfo.sType(VK13.VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO);
        queueInfo.queueFamilyIndex(result);
        FloatBuffer temp3 = FloatBuffer.allocate(1);
        temp3.put(0, 1.0f);
        queueInfo.pQueuePriorities(temp3);

        VkPhysicalDeviceFeatures features = VkPhysicalDeviceFeatures.create();

        VkDeviceCreateInfo createInfo = VkDeviceCreateInfo.create();
        createInfo.sType(VK13.VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO);
        VkDeviceQueueCreateInfo.Buffer temp4 = VkDeviceQueueCreateInfo.create(1);
        temp4.put(0, queueInfo);
        createInfo.pQueueCreateInfos(temp4);
        createInfo.pEnabledFeatures(features);
        createInfo.ppEnabledLayerNames(null);
        createInfo.ppEnabledExtensionNames(null);

        PointerBuffer temp5 = PointerBuffer.allocateDirect(1);
        //fatal error occurred while executing the following function: (VK13.vkCreateDevice(physicalDevice, createInfo, null, temp5)
        if (VK13.vkCreateDevice(physicalDevice, createInfo, null, temp5) != VK13.VK_SUCCESS) { //fatal error occurred
            throw new RuntimeException("启动vulkan失败!æâ€" æ³•åˆ›å»ºéâ,¬Â»Ã¨Â¾â€˜Ã¨Â®Â¾Ã¥Â¤â€¡Ã¯Â¼Â");
        }
        logicalDevice = new VkDevice(temp5.get(0), physicalDevice, createInfo);

        PointerBuffer temp6 = PointerBuffer.allocateDirect(1);
        VK13.vkGetDeviceQueue(logicalDevice, result, 0, temp6);
        graphicsQueue = new VkQueue(temp6.get(0), logicalDevice);
    }

    public static void destroy() {
        VK13.vkDestroyInstance(vkInstance, null);
        VK13.vkDestroyDevice(logicalDevice, null);
    }

}


The report is followed.

If anynoe could help me. Thanks for a lot!
#83
Lightweight Java Gaming Library / Why does my code not seem to w...
Last post by SleepGuy - October 31, 2023, 18:20:20
QuoteMain.java
public class Main {
	public static long WINDOW;

	ShaderProgram shader;
	Mesh mesh;

	public static void main(String[] args) {
		new Main().run();
	}

	private void run() {
		init();
		loop();
		terminate();
	}
	private void init() {
		if(!glfwInit()) throw new RuntimeException("Could not initialize GLFW (ERROR CODE : 0x0001)");

		WINDOW = glfwCreateWindow(800, 600, "Skylift FS", NULL, NULL);

		glfwSwapInterval(1);

		glfwSetFramebufferSizeCallback(WINDOW, (win, width, height) -> {
			glViewport(0, 0, width, height);
		});
		
		glfwMakeContextCurrent(WINDOW);

		createCapabilities();

		try {
			shader = new ShaderProgram();
			shader.setVertexShader("/com/masterpiece/shaders/vertexshader.glsl");
			shader.setFragmentShader("/com/masterpiece/shaders/fragmentshader.glsl");
			shader.link();
		}
		catch (Exception e) {
			e.printStackTrace();
		}

		float[] positions = new float[] {
				-0.5f, 0.5f, 0.0f,
				-0.5f, -0.5f, 0.0f,
				0.5f, -0.5f, 0.0f,
				0.5f, 0.5f, 0.0f,
		};
		int[] indices = new int[] {
				0, 1, 3, 3, 1, 2,
		};
		float[] colors = new float[] {
				0.5f, 0.0f, 0.0f,
				0.0f, 0.5f, 0.0f,
				0.0f, 0.0f, 0.5f,
				0.0f, 0.5f, 0.5f,
		};

		mesh = new Mesh(positions, indices, colors);

		glfwShowWindow(WINDOW);
	}
	private void loop() {
		Renderer renderer = new Renderer(shader);

		glClearColor(0.0f, 1.0f, 1.0f, 1.0f);

		while(!glfwWindowShouldClose(WINDOW)) {
			glClear(GL_COLOR_BUFFER_BIT);

			shader.bind();
			renderer.render(mesh);
			shader.unbind();

			glfwSwapBuffers(WINDOW);
			glfwPollEvents();
		}
	}
	private void terminate() {
		if (shader != null) shader.cleanup();
		if (mesh != null) mesh.cleanup();

		glfwDestroyWindow(WINDOW);
		glfwTerminate();
	}
}

QuoteShaderProgram.java
package com.masterpiece.shaders;

import static org.lwjgl.opengl.GL20.*;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.FloatBuffer;
import java.util.HashMap;
import java.util.Map;

import org.joml.Matrix4f;
import org.lwjgl.system.MemoryStack;

public class ShaderProgram {
	
	int program_id;
	int vertex_shader_id;
	int fragment_shader_id;
	
	private final Map<String, Integer> uniforms;
	
	public ShaderProgram() throws Exception {
		this.uniforms = new HashMap<>();
		if((program_id=glCreateProgram())==0) throw new Exception("Failed to create shader program");
	}
	
	public void setVertexShader(String path) throws Exception {
		vertex_shader_id=createShader(read(path), GL_VERTEX_SHADER);
	}
	public void setFragmentShader(String path) throws Exception {
		fragment_shader_id=createShader(read(path), GL_FRAGMENT_SHADER);
	}
	public void link() throws Exception {
		glLinkProgram(program_id);
        if (glGetProgrami(program_id, GL_LINK_STATUS) == 0) {
            throw new Exception("Error linking Shader code: " + glGetProgramInfoLog(program_id, 1024));
        }
		glDetachShader(program_id, vertex_shader_id);
		glDetachShader(program_id, fragment_shader_id);
		glValidateProgram(program_id);
        if (glGetProgrami(program_id, GL_VALIDATE_STATUS) == 0) {
            System.err.println("Warning validating Shader code: " + glGetProgramInfoLog(program_id, 1024));
        }
	}
	public void bind() {
		glUseProgram(program_id);
	}
	public void unbind() {
		glUseProgram(0);
	}
	public void cleanup() {
		unbind();
		glDeleteShader(vertex_shader_id);
		glDeleteShader(fragment_shader_id);
		glDeleteProgram(program_id);
	}
	
	private int createShader(String code, int type) throws Exception {
		int id = glCreateShader(type);
		glShaderSource(id, code);
		glCompileShader(id);
		
		if (glGetShaderi(id, GL_COMPILE_STATUS) == 0) 
            throw new Exception(type+"- "+ glGetShaderInfoLog(id, 1024));
		
		glAttachShader(program_id, id);
		return id;
	}
	
	public void createUniform(String uniformName) throws Exception {
	    int uniformLocation = glGetUniformLocation(program_id, uniformName);
	    if (uniformLocation < 0) throw new Exception("Could not find uniform:" +uniformName);
	    uniforms.put(uniformName, uniformLocation);
	}
	public void setUniform(String uniformName, Matrix4f value) {
	    try (MemoryStack stack = MemoryStack.stackPush()) {
	        FloatBuffer fb = stack.mallocFloat(16);
	        value.get(fb);
	        glUniformMatrix4fv(uniforms.get(uniformName), false, fb);
	    }
	}
	
    private String read(String path) {
		String read = "";
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(path)));
			String input;
			while((input = reader.readLine()) != null) read += input += "\n";
		}
		catch (IOException e) {
			e.printStackTrace();
		}
		return read;
	}
}

QuoteMesh.java
package com.masterpiece.mesh;

import static org.lwjgl.opengl.GL11.GL_FLOAT;
import static org.lwjgl.opengl.GL15.*;
import static org.lwjgl.opengl.GL20.*;
import static org.lwjgl.opengl.GL30.*;

public class Mesh {
	
	int vaoID;
	int coordinatesVboID;
	int indiciesVboID;
	int colorsVboID;
	int dataLength;
	
	public Mesh(float[] data, int[] indicies, float[] colors) {
		vaoID = glGenVertexArrays();
		coordinatesVboID = glGenBuffers();
		indiciesVboID = glGenBuffers();
		colorsVboID = glGenBuffers();
		dataLength = indicies.length;
		
		glBindVertexArray(vaoID);
		
		glBindBuffer(GL_ARRAY_BUFFER, coordinatesVboID);
		glBufferData(GL_ARRAY_BUFFER, data, GL_STATIC_DRAW);
		glVertexAttribPointer(0, 3, GL_FLOAT, false, 0, 0);
		
		glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indiciesVboID);
		glBufferData(GL_ELEMENT_ARRAY_BUFFER, indicies, GL_STATIC_DRAW);
		
		glBindBuffer(GL_ARRAY_BUFFER, colorsVboID);
		glBufferData(GL_ARRAY_BUFFER, colors, GL_STATIC_DRAW);	
		glVertexAttribPointer(1, 3, GL_FLOAT, false, 0, 0);
		
		glEnableVertexAttribArray(0);
		glEnableVertexAttribArray(1);
		
		glBindVertexArray(0);
	}

	public int getVaoID() {
		return vaoID;
	}

	public int getVboID() {
		return coordinatesVboID;
	}
	
	public int getVertexCount() {
		return dataLength;
	}
	
	public void cleanup() {
		glDisableVertexAttribArray(0);
		glDisableVertexAttribArray(1);

		glBindVertexArray(vaoID);
		glBindBuffer(GL_ARRAY_BUFFER, 0);

		glDeleteVertexArrays(vaoID);
		glDeleteBuffers(coordinatesVboID);
	}
}

QuoteRenderer.java
package com.masterpiece.main;

import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.GL_TRIANGLES;
import static org.lwjgl.opengl.GL11.GL_UNSIGNED_INT;
import static org.lwjgl.opengl.GL11.glDrawElements;
import static org.lwjgl.opengl.GL20.glEnableVertexAttribArray;
import static org.lwjgl.opengl.GL30.glBindVertexArray;

import java.nio.IntBuffer;

import org.joml.Matrix4f;
import org.lwjgl.BufferUtils;

import com.masterpiece.mesh.Mesh;
import com.masterpiece.shaders.ShaderProgram;

public class Renderer {

	public static float FOV = (float) Math.toRadians(60.0f);
	public static final float Z_NEAR = 0.01f, Z_FAR = 1000.0f;

	private Matrix4f projectionMatrix;
	private final ShaderProgram shader;

	public Renderer(ShaderProgram shader) {
		IntBuffer width = BufferUtils.createIntBuffer(1), height = BufferUtils.createIntBuffer(1);
		
		glfwGetWindowSize(Main.WINDOW, width, height);
		
		float aspectRatio = (float) width.get() / height.get();
		projectionMatrix = new Matrix4f().perspective(FOV, aspectRatio, Z_NEAR, Z_FAR);
		try {
			shader.createUniform("projectionMatrix");
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		
		this.shader = shader;
	}

	public void render(Mesh mesh) {
		shader.setUniform("projectionMatrix", projectionMatrix);
		
		glBindVertexArray(mesh.getVaoID());
		glEnableVertexAttribArray(0); //Positional Data 
		glEnableVertexAttribArray(1); //Color Data
		glDrawElements(GL_TRIANGLES, mesh.getVertexCount(), GL_UNSIGNED_INT, 0);
		glBindVertexArray(0);
	}
}


Here's my code, it used to work fine and draw a colorful rectangle, but I do not remember what I had changed that broke this program. I'm following the "3D game development to LWJGL". Since I am fairly new to LWJGL I do not know many ways to debug the code, everything works fine I don't face any errors that would cause the code to break  :(.
The shader's are fairly simple too, if you would like them I will include it
#84
Lightweight Java Gaming Library / Do i risk a memory leak or und...
Last post by Nosky - October 28, 2023, 23:51:21
So basically i want to know what happens if i ever try to use the VkApplicationInfoHolder object after the stack is popped.

Does the memory not get freed because im referencing it (this.VkApplicationInfoHolder = TempVkApplicationInfoHolder;)?
Do i risk reading an area of memory that is not anymore allocated?
Do i risk having bad performance?


public class VkEngineApplicationInfo {

    private String instanceName, engineName;

    VkApplicationInfo VkApplicationInfoHolder;

    VkEngineApplicationInfo(String instanceName, String engineName){

        this.instanceName = instanceName;
        this.engineName = engineName;

        init();

    }

    void init(){

        try(MemoryStack TempStack = MemoryStack.stackPush()){

            //Application Info Struct
            VkApplicationInfo TempVkApplicationInfoHolder = VkApplicationInfo.calloc(TempStack);

            TempVkApplicationInfoHolder
            .sType(VK13.VK_STRUCTURE_TYPE_APPLICATION_INFO)
            .pApplicationName(TempStack.UTF8Safe("VkTest"))
            .applicationVersion(VK13.VK_MAKE_VERSION(1,0,0))
            .pEngineName(TempStack.UTF8Safe("yato"))
            .engineVersion(VK13.VK_MAKE_VERSION(1,0,0))
            .apiVersion(VK13.VK_API_VERSION_1_3);

            this.VkApplicationInfoHolder = TempVkApplicationInfoHolder;

        }

       
    }


}


Thanks in advance.
#85
I am making a Voxel game with LWJGL 3.3.3, and I want to implement block placing/breaking. I know how to delete/create the blocks, but I would like to know how to detect which block the camera is looking at, and which side, up to a set distance.
#86
The October release (v0.5.0) of my indie fighting game is now available for download at ephemeraltechnicalarts.com! Constructive feedback is always welcome.
#87
OpenGL / 3d texture sampling as black
Last post by sephjfox - October 10, 2023, 01:14:28
hello friends  8)

i am attempting to display a simple 3d texture in my scene, but the 3d texture always samples black. any idea what i could be doing wrong?

please note the line in the glsl section that sets the output pixel to green, that is used to test color placement.

// Create array
int t3dim = 32;
int[] tex3d_r = new int[t3dim*t3dim*t3dim*4];
for(int i=0;i<(t3dim*t3dim*t3dim);i++) {
	tex3d_r[i*4+0] = 0;
	tex3d_r[i*4+1] = 255;
	tex3d_r[i*4+2] = 0;
	tex3d_r[i*4+3] = 255;
}

// Create texture
int id = glGenTextures();
glActiveTexture(GL_TEXTURE0);
ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB);
glClientActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_3D,id);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
glTexImage3D(GL_TEXTURE_3D, 0, GL30.GL_RGBA8, t3dim, t3dim, t3dim, 0, GL30.GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, tex3d_r);
glGenerateMipmap(GL_TEXTURE_3D);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_LOD_BIAS, 0.4f);

// Render
glUniform1i(vIndex("volumeMode"),1);
glUniform1i(vIndex("volumeMap"),6);
glActiveTexture(GL_TEXTURE0+6);
ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB+6);
glClientActiveTexture(GL_TEXTURE0+6);
glBindTexture(GL_TEXTURE_3D,id);

// GLSL
uniform int volumeMode;
uniform sampler3D volumeMap;
if(volumeMode==1) {
	float xd = gl_FragCoord.x/resolution.x; // 0..1
	vec4 sc = texture(volumeMap, vec3(xd));
	//sc = vec4(0,255,0,255); // makes circle green
	sc /= 255;
	pixel = vec4(sc.xyz,1f);
}






#88
Bug Reports / RFE / Re: [Bug] Strange Bug drawing ...
Last post by MrZucchinibrot - September 27, 2023, 16:52:01
I've got a Server internal Error when attaching the images. So here with links.

Laptop without the bug:
https://nextcloud.sessner.de/index.php/s/kD8xg4eWH7CsqYp

PC with the bug:
https://nextcloud.sessner.de/index.php/s/sYMJg6xmj9bw9aR
#89
Bug Reports / RFE / [Bug] Strange Bug drawing Line...
Last post by MrZucchinibrot - September 27, 2023, 16:47:09
Hey,

I have a strange bug on my 2D game engine. Starting the game everything is ok. When I open the Inventory (a view Images) the lines are disappearing. Yesterday I found out that it is only on my Home-PC not on my Laptop. Could this be a bug of lwjgl instead of my own code?

What informations should I share here? I think just sending all of my code wouldn't help that much. And I have no idea what could cause it. I will attach a picture from my pc an from my laptop.

Thank you in advance,
David
#90
Bug Reports / RFE / Re: [RFE] Assimp 3.5.1
Last post by sgold - September 26, 2023, 22:21:39
Quote from: spasi on September 26, 2023, 21:10:12
It should be fixed, yes.

Thanks again.