HOME





Lightweight Java Game Library
The Lightweight Java Game Library (LWJGL) is an open-source software library that provides bindings to a variety of C libraries for video game developers to Java. It exposes cross-platform libraries commonly used in developing video games and multimedia titles, such as Vulkan, OpenGL, GLFW, OpenAL and OpenCL. The primary goal of the project is to provide a way for Java developers to get access to resources that are otherwise unavailable or poorly implemented on the existing Java platform. The main philosophy is to expose underlying technology as a thin wrapper, thus creating an API close to the original. It is also the basis of many high-level Java game engines and libraries, such as libGDX or the jMonkeyEngine. History Development of the library began in 2002 with the release of J2SE 1.4, making use of the newly-added non-blocking I/O operations and off-heap memory access. These additions to the JDK allowed for better access to native memory and libraries not a part ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Java (programming Language)
Java is a High-level programming language, high-level, General-purpose programming language, general-purpose, Memory safety, memory-safe, object-oriented programming, object-oriented programming language. It is intended to let programmers ''write once, run anywhere'' (Write once, run anywhere, WORA), meaning that compiler, compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to Java bytecode, bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax (programming languages), syntax of Java is similar to C (programming language), C and C++, but has fewer low-level programming language, low-level facilities than either of them. The Java runtime provides dynamic capabilities (such as Reflective programming, reflection and runtime code modification) that are typically not available in traditional compiled languages. Java gained popularity sh ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


GLFW
GLFW (Graphics Library Framework) is a lightweight utility library for use with OpenGL, OpenGL ES and Vulkan. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mouse input. Software architecture GLFW is a small C library that allows the creation and management of windows with OpenGL contexts, making it also possible to use multiple monitors and video modes. It provides access to input from the keyboard, mouse, and joysticks. The API provides a thin, multi-platform abstraction layer, primarily for applications whose sole graphics output is through the OpenGL API. While GLFW is very useful when developing multi-platform OpenGL applications, single-platform developers can also benefit from avoiding having to deal with a platform-specific API. GLFW is used in programs that require a window, due to OpenGL not providing any mechanisms for creating the necessary contexts, managing windows, user input, tim ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Java Native Interface
The Java Native Interface (JNI) is a foreign function interface programming framework that enables Java code running in a Java virtual machine (JVM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages such as C, C++ and assembly. Java 22 introduces the Foreign Function and Memory API, which can be seen as the successor to Java Native Interface. Objectives JNI enables programmers to write native methods to handle situations when an application cannot be written entirely in the Java programming language, e.g. when the standard Java class library does not support the platform-specific features or program library. It is also used to modify an existing application (written in another programming language) to be accessible to Java applications. Many of the standard library classes depend on JNI to provide functionality to the developer and the user, e.g. file I/O and sound capabil ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Oculus Rift
Oculus Rift is a discontinued line of virtual reality headsets, virtual reality headsets developed and manufactured by Oculus VR, a virtual reality company founded by Palmer Luckey that is widely credited with reviving the virtual reality industry. It was the first virtual reality headset to provide a realistic experience at an accessible price, utilizing novel technology to increase quality and reduce cost by orders of magnitude compared to earlier systems. The first headset in the line was the Oculus Rift DK1, released on March 28, 2013. The last was the Oculus Rift S, discontinued in April 2021. The Rift went through various pre-production models prior to the release of the Oculus Rift CV1, the first Oculus Rift intended for use by the general public. Two of these, the DK1 in early-2013 and DK2 in mid-2014, were intended to provide content developers with a Software development kit, development kit platform to create content for the Rift's eventual consumer release. However, b ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Objective-C
Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP, Objective-C was the standard language used, supported, and promoted by Apple for developing macOS and iOS applications (via their respective application programming interfaces ( APIs), Cocoa and Cocoa Touch) from 1997, when Apple purchased NeXT until the introduction of the Swift language in 2014. Objective-C programs developed for non-Apple operating systems or that are not dependent on Apple's APIs may also be compiled for any platform supported by GNU GNU Compiler Collection (GCC) or LLVM/ Clang. Objective-C source code 'messaging/implementation' program files usually have filename extensions, while Objective-C 'header/ ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

EGL (API)
EGL is an interface between Khronos rendering APIs (such as OpenGL, OpenGL ES or OpenVG) and the underlying native platform windowing system. EGL handles graphics context management, surface/ buffer binding, rendering synchronization, and enables "high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs." EGL is managed by the non-profit technology consortium Khronos Group. The acronym ''EGL'' is an initialism, which starting from EGL version 1.2 refers to ''Khronos Native Platform Graphics Interface''. Prior to version 1.2, the name of the EGL specification was ''OpenGL ES Native Platform Graphics Interface''. X.Org development documentation glossary defines EGL as "Embedded-System Graphics Library". Adoption * The BlackBerry 10 and BlackBerry Tablet OS mobile device operating system uses EGL for 3D graphics rendering. Both support EGL version 1.4. * The Android mobile device operating system uses EGL for 3D graphics rendering. * The ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug tracking system, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, GitHub, Inc. has been a subsidiary of Microsoft since 2018. It is commonly used to host open source software development projects. GitHub reported having over 100 million developers and more than 420 million Repository (version control), repositories, including at least 28 million public repositories. It is the world's largest source code host Over five billion developer contributions were made to more than 500 million open source projects in 2024. About Founding The development of the GitHub platform began on October 19, 2005. The site was launched in April 2008 by Tom ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Heap Memory
Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time. Several methods have been devised that increase the effectiveness of memory management. Virtual memory systems separate the memory addresses used by a process from actual physical addresses, allowing separation of processes and increasing the size of the virtual address space beyond the available amount of RAM using paging or swapping to secondary storage. The quality of the virtual memory manager can have an extensive effect on overall system performance. The system allows a computer to appear as if it may have more m ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Non-blocking I/O (Java)
java.nio (NIO stands for New Input/Output) is a collection of Java programming language APIs that offer features for intensive I/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51. An extension to NIO that offers a new file system API, called NIO.2, was released with Java SE 7 ("Dolphin"). Features and organization The APIs of NIO were designed to provide access to the low-level I/O operations of modern operating systems. Although the APIs are themselves relatively high-level, the intent is to facilitate an implementation that can directly use the most efficient operations of the underlying platform. The Java NIO APIs are provided in the package and its subpackages. The documentation by Oracle identifies these features. * Buffers for data of primitive types * Character set encoders and decoders * A pattern-matching facility based on Perl-styl ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

J2SE 1
J, or j, is the tenth letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its usual name in English is ''jay'' (pronounced ), with a now-uncommon variant ''jy'' ."J", ''Oxford English Dictionary,'' 2nd edition (1989) When used in the International Phonetic Alphabet for the voiced palatal approximant (the sound of "y" in "yes") it may be called ''yod'' or ''jod'' (pronounced or ). History The letter ''J'' used to be used as the swash letter ''I'', used for the letter I at the end of Roman numerals when following another I, as in XXIIJ or xxiij instead of XXIII or xxiii for the Roman numeral twenty-three. A distinctive usage emerged in Middle High German. Gian Giorgio Trissino (1478–1550) was the first to explicitly distinguish I and J as representing separate sounds, in his ''Ɛpistola del Trissino de le lettere nuωvamente aggiunte ne la lingua italiana'' ("Trissino's epistle ab ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

JMonkeyEngine
jMonkeyEngine (abbreviated JME or jME) is an open-source and cross-platform game engine for developing 3D games written in Java. It can be used to write games for Windows, Linux, macOS, Raspberry Pi, Android, and iOS (currently in alpha testing). It uses Lightweight Java Game Library as its default renderer, and also supports another renderer based on Java OpenGL. jMonkeyEngine is community-centric and open-source. It is released under the New BSD license. It is used by several commercial game studios and educational institutions. The default jMonkeyEngine 3 comes integrated with a software development kit (SDK). jMonkeyEngine 3 SDK By itself, jMonkeyEngine is a collection of computing libraries, making it a low-level game development tool. Coupled with an integrated development environment like the official jMonkeyEngine 3 SDK, it becomes a higher-level game development environment with multiple graphical components. The SDK is based on the NetBeans Platform, enabling ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


LibGDX
libGDX is a free and open-source game-development application framework written in the Java programming language with some C and C++ components for performance dependent code. It allows for the development of desktop and mobile games by using the same code base. It is cross-platform, supporting Windows, Linux, macOS, Android, iOS, BlackBerry and web browsers with WebGL support. History In the middle of 2009 Mario Zechner, the creator of libGDX, wanted to write Android games and started developing a framework called AFX (Android Effects) for this. When he found that deploying the changes from Desktop to Android device was cumbersome, he modified AFX to work on the Desktop as well, making it easier to test programs. This was the first step toward the game framework later known as libGDX. In March 2010 Zechner decided to open-source AFX, hosting it on Google Code under the GNU Lesser General Public License (LGPL). However, at the time he stated that "It's not the intention ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]