LWJGL
imgui-java
Our great sponsors
LWJGL | imgui-java | |
---|---|---|
72 | 5 | |
4,583 | 509 | |
1.4% | - | |
8.9 | 6.8 | |
4 months ago | about 1 month ago | |
Java | Java | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
LWJGL
-
Building a Game Engine Using Java with LWJGL
Download the latest LWJGL binaries from the official website.
-
My Game won't start :(
(The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
-
Game crashes starting 1.5.2
229 recipes 27 achievements 2023-11-15 18:45:08 [CLIENT] [INFO] Setting user: aleislost (Session ID is token:0:) 2023-11-15 18:45:08 [CLIENT] [INFO] LWJGL Version: 2.9.4 Starting up SoundSystem... Initializing LWJGL OpenAL (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) OpenAL initialized. # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffd49392ee7, pid=5988, tid=0x0000000000002188 # # JRE version: OpenJDK Runtime Environment (8.0_392-b08) (build 1.8.0_392-b08) # Java VM: OpenJDK 64-Bit Server VM (25.392-b08 mixed mode windows-amd64 compressed oops) # Problematic frame: # C [ig7icd64.dll+0x22ee7] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # C:\Users\Ale\AppData\Roaming\PollyMC\instances\1.5.2\.minecraft\hs_err_pid5988.log # # If you would like to submit a bug report, please visit: # https://github.com/adoptium/adoptium-support/issues # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # AL lib: (EE) alc_cleanup: 1 device not closed Process exited with code 1.
- Not only Unity...
- LWJGL documentation
-
I am looking to learn java for 2d and 3d game development any good tutorials or sources for beginners who don't know anything
Both libGDX and JMonkey engine make use of LWJGL.
-
missing dependencies form mods snd dont know what to do
[17:23:20] [Client thread/WARN]: EventBus 0 shutting down - future events will not be posted. [17:23:20] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:YUNG's Better Mineshafts, FMLFileResourcePack:Biomes O' Plenty, FMLFileResourcePack:Bountiful, FMLFileResourcePack:Mowzie's Mobs, FMLFileResourcePack:Quark, FMLFileResourcePack:Spiders 2.0, FMLFileResourcePack:Tetra, FMLFileResourcePack:The Twilight Forest, FMLFileResourcePack:Xaero's World Map [17:23:20] [Client thread/INFO]: Transforming net.minecraft.client.renderer.RenderItem [17:23:20] [Client thread/INFO]: Applying Transformation to method (Names [renderItem, func_180454_a] Descriptor (Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/renderer/block/model/IBakedModel;)V) [17:23:20] [Client thread/INFO]: Located Method, patching... [17:23:20] [Client thread/INFO]: Patch result: true [17:23:20] [Client thread/INFO]: Applying Transformation to method (Names [renderEffect, func_191966_a] Descriptor (Lnet/minecraft/client/renderer/block/model/IBakedModel;)V) [17:23:20] [Client thread/INFO]: Located Method, patching... [17:23:20] [Client thread/INFO]: Located patch target node LDC -8372020 [17:23:20] [Client thread/INFO]: Located patch target node LDC -8372020 [17:23:20] [Client thread/INFO]: Patch result: true [17:23:20] [Client thread/INFO]: Transforming net.minecraft.client.renderer.EntityRenderer [17:23:20] [Client thread/INFO]: Applying Transformation to method (Names [renderWorldPass, func_175068_a] Descriptor (IFJ)V) [17:23:20] [Client thread/INFO]: Located Method, patching... [17:23:20] [Client thread/INFO]: Located patch target node INVOKESPECIAL net/minecraft/client/renderer/EntityRenderer.func_78479_a (FI)V [17:23:20] [Client thread/INFO]: Patch result: true [17:23:20] [Client thread/WARN]: There were errors previously. Not beginning mod initialization phase [17:23:21] [Sound Library Loader/INFO]: Starting up SoundSystem... [17:23:21] [Thread-2/INFO]: Initializing LWJGL OpenAL [17:23:21] [Thread-2/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [17:23:21] [Thread-2/INFO]: OpenAL initialized. [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.renderer.entity.RenderManager [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [renderEntity, func_188391_a] Descriptor (Lnet/minecraft/entity/Entity;DDDFFZ)V) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Located patch target node INVOKEVIRTUAL net/minecraft/client/renderer/entity/Render.func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.renderer.entity.Render [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [renderEntityOnFire, func_76977_a] Descriptor (Lnet/minecraft/entity/Entity;DDDF)V) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.model.ModelBiped [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [setRotationAngles, func_78087_a] Descriptor (FFFFFFLnet/minecraft/entity/Entity;)V) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Located patch target node RETURN [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.renderer.entity.layers.LayerArmorBase [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [renderArmorLayer, func_188361_a] Descriptor (Lnet/minecraft/entity/EntityLivingBase;FFFFFFFLnet/minecraft/inventory/EntityEquipmentSlot;)V) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [renderEnchantedGlint, func_188364_a] Descriptor (Lnet/minecraft/client/renderer/entity/RenderLivingBase;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/client/model/ModelBase;FFFFFFF)V) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Located patch target node INVOKESTATIC net/minecraft/client/renderer/GlStateManager.func_179131_c (FFFF)V [17:23:21] [Client thread/INFO]: Located patch target node INVOKESTATIC net/minecraft/client/renderer/GlStateManager.func_179131_c (FFFF)V [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Sound Library Loader/INFO]: Sound engine started [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.renderer.entity.RenderBoat [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [doRender, func_188300_b] Descriptor (Lnet/minecraft/entity/item/EntityBoat;DDDFF)V) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Located patch target node INVOKEINTERFACE net/minecraft/client/model/IMultipassModel.func_187054_b (Lnet/minecraft/entity/Entity;FFFFFF)V [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.renderer.entity.layers.LayerEntityOnShoulder [17:23:21] [Client thread/INFO]: Applying Transformation to method (Names [renderEntityOnShoulder, func_192864_a] Descriptor (Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/UUID;Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/client/renderer/entity/RenderLivingBase;Lnet/minecraft/client/model/ModelBase;Lnet/minecraft/util/ResourceLocation;Ljava/lang/Class;FFFFFFFZ)Lnet/minecraft/client/renderer/entity/layers/LayerEntityOnShoulder$DataHolder;) [17:23:21] [Client thread/INFO]: Located Method, patching... [17:23:21] [Client thread/INFO]: Located patch target node INVOKEVIRTUAL net/minecraft/client/renderer/entity/RenderLivingBase.func_110776_a (Lnet/minecraft/util/ResourceLocation;)V [17:23:21] [Client thread/INFO]: Patch result: true [17:23:21] [Client thread/INFO]: Transforming net.minecraft.client.renderer.BlockModelRenderer [17:23:22] [Client thread/INFO]: Applying Transformation to method (Names [renderQuadsFlat, func_187496_a] Descriptor (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/math/BlockPos;IZLnet/minecraft/client/renderer/BufferBuilder;Ljava/util/List;Ljava/util/BitSet;)V) [17:23:22] [Client thread/INFO]: Located Method, patching... [17:23:22] [Client thread/INFO]: Located patch target node INVOKEVIRTUAL net/minecraft/client/renderer/BufferBuilder.func_178987_a (DDD)V [17:23:22] [Client thread/INFO]: Patch result: true [17:23:22] [Client thread/WARN]: ERROR : Couldn't load Narrator library : Unable to load library 'fliteWrapper': Native library (linux-aarch64/libfliteWrapper.so) not found in resource path ([file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/lwjgl3/lwjgl-glfw-classes.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.15.0/log4j-slf4j18-impl-2.15.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/maven/maven-artifact/3.5.3/maven-artifact-3.5.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/java3d/vecmath/1.5.2/vecmath-1.5.2.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-swing_2.11/1.0.1/scala-swing_2.11-1.0.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-plugin_2.11.1/1.0.2_mc/scala-continuations-plugin_2.11.1-1.0.2_mc.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-library_2.11/1.0.2_mc/scala-continuations-library_2.11-1.0.2_mc.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/scala-lang/scala-actors-migration_2.11/1.1.0/scala-actors-migration_2.11-1.1.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/typesafe/config/1.2.1/config-1.2.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/jline/jline/3.5.1/jline-3.5.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/ow2/asm/asm-debug-all/5.2/asm-debug-all-5.2.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/minecraftforge/forge/1.12.2-14.23.5.2859/forge-1.12.2-14.23.5.2859.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/mojang/patchy/1.3.9/patchy-1.3.9.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/io/netty/netty-all/4.1.9.Final/netty-all-4.1.9.Final.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/google/guava/guava/21.0/guava-21.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/mojang/authlib/1.5.25/authlib-1.5.25.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/mojang/realms/1.10.22/realms-1.10.22.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/it/unimi/dsi/fastutil/7.1.0/fastutil-7.1.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.15.0/log4j-api-2.15.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.15.0/log4j-core-2.15.0.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/libraries/com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/versions/1.12.2-forge-14.23.5.2859/1.12.2-forge-14.23.5.2859.jar, file:/storage/emulated/0/Android/data/net.kdt.pojavlaunch/files/.minecraft/mods/Quark-r1.6-177.jar, asmgen:/]) [17:23:23] [Client thread/INFO]: Transforming net.minecraft.client.renderer.tileentity.TileEntityPistonRenderer [17:23:23] [Client thread/INFO]: Applying Transformation to method (Names [render, func_192841_a] Descriptor (Lnet/minecraft/tileentity/TileEntityPiston;DDDFIF)V) [17:23:23] [Client thread/INFO]: Located Method, patching... [17:23:23] [Client thread/INFO]: Patch result: true
- Need an assignment
-
Library of Java that Minecraft Uses
Java Edition uses a number of third party libraries but the core game library is Light Weight Java Game Library, LWJGL.
-
Wayland support
Minecraft uses LWGL under the hood, which does support Wayland as of version 3 if it is configured to use EGL instead of GLX. (see https://github.com/LWJGL/lwjgl3/issues/748) Version 2 of LWGL does not support Wayland as it relies on xrandr, which is only available on X (see https://github.com/LWJGL/lwjgl/issues/118).
imgui-java
- Lets-Plot: An open-source plotting library by JetBrains
-
JavaFX 19 Released
So this makes me wonder: how common is desktop app development with Java these days? I imagine there is still a lot done for internal app, but is it still viable to ship Java apps to end users? How you handle JRE distribution in that case?
Anyway also wanna shout out Dear ImGui[0]. I've been using it recently to build an interactive UI to quite complicated networking code. So far it been great for manual testing and demos, and it's fairly low maintenance once running.
[0] https://github.com/SpaiR/imgui-java
- Basic ClickGUI
-
A go-to GUI library for Kotlin
If you aren't off-put by the Blender/Unity UI style, there's also ImGUI a possibility as it has some java bindings available.
-
GUI in LWJGL
If you want a library that has an active community and a lot of examples try out imgui (java port: https://github.com/SpaiR/imgui-java). It is a C based language but seems like the port are pretty close to the original api so you can follow not only the java docs but the c/c++ ones as well. There are a few game engines that utilizes imgui in the editor because it is lightweight, easy to extend, theme and use.
What are some alternatives?
libGDX - Desktop/Android/HTML5/iOS Java game development framework
LWJGUI - Simple UI solution for LWJGL3
FXGL - Java / JavaFX / Kotlin Game Library (Engine)
Vulkan-Tutorial-Java - Vulkan tutorial by Alexander Overvoorde ported to Java
jMonkeyEngine - A complete 3-D game development suite written in Java.
darklaf - Darklaf - A themeable swing Look and Feel based on Darcula-Laf
OpenTK - The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
jnativehook - Global keyboard and mouse listeners for Java.
ImFrame - dear imgui + glfw framework
raylib - A simple and easy-to-use library to enjoy videogames programming
awesome-dear-imgui - A collection of awesome dear imgui bindings, extensions and resources