当前位置: 首页 > 软件库 > 程序开发 > 游戏开发包 >

LWJGL

轻量级Java游戏开发包
授权协议 BSD
开发语言 Java
所属分类 程序开发、 游戏开发包
软件类型 开源软件
地区 不详
投 递 者 巫朝明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

LWJGL(Lightweight Java Game Library)它可以帮助Java程序员开发有着商业性质的游戏.LWJGL为开发者提供简单易用的API来访问OpenGL (Open Graphics Library)与OpenAL (Open Audio Library) 同也提供操作控制器(Gamepads, Steering wheel和操纵杆)的API.

示例代码:

import org.lwjgl.Sys;
import org.lwjgl.opengl.*;
import org.lwjgl.system.glfw.*;
 
import java.nio.ByteBuffer;
 
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;
import static org.lwjgl.system.glfw.GLFW.*;
 
public class HelloWorld {
 
    private long window;
 
    public void execute() {
        System.out.println("Hello LWJGL " + Sys.getVersion() + "!");
 
        try {
            init();
            loop();
            glfwDestroyWindow(window);
        } finally {
            glfwTerminate();
        }
    }
 
    private void init() {
        glfwSetErrorCallback(ErrorCallback.Util.getDefault());
 
        if ( glfwInit() != GL11.GL_TRUE )
            throw new IllegalStateException("Unable to initialize GLFW");
 
        glfwDefaultWindowHints();
        glfwWindowHint(GLFW_VISIBLE, GL_FALSE);
        glfwWindowHint(GLFW_RESIZABLE, GL_TRUE);
 
        int WIDTH = 300;
        int HEIGHT = 300;
 
        window = glfwCreateWindow(WIDTH, HEIGHT, "Hello World!", NULL, NULL);
        if ( window == NULL )
            throw new RuntimeException("Failed to create the GLFW window");
 
        WindowCallback.set(window, new WindowCallbackAdapter() {
            @Override
            public void key(long window, int key, int scancode, int action, int mods) {
                if ( key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE )
                    glfwSetWindowShouldClose(window, GL_TRUE);
            }
        });
 
        ByteBuffer vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor());
        glfwSetWindowPos(
            window,
            (GLFWvidmode.width(vidmode) - WIDTH) / 2,
            (GLFWvidmode.height(vidmode) - HEIGHT) / 2
        );
 
        glfwMakeContextCurrent(window);
        glfwSwapInterval(1);
 
        glfwShowWindow(window);
    }
 
    private void loop() {
        GLContext.createFromCurrent();
 
        glClearColor(1.0f, 0.0f, 0.0f, 0.0f);
        while ( glfwWindowShouldClose(window) == GL_FALSE ) {
            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
    }
 
    public static void main(String[] args) {
        new HelloWorld().execute();
    }
}
  • 软件简介 LWJGL(Lightweight Java Game Library)它可以帮助Java程序员开发有着商业性质的游戏.LWJGL为开发者提供简单易用的API来访问OpenGL (Open Graphics Library)与OpenAL (Open Audio Library) 同也提供操作控制器(Gamepads, Steering wheel和操纵杆)的API. 示例代码: imp

  • 原文:https://github.com/SilverTiger/lwjgl3-tutorial/wiki/Introduction 译注:并没有逐字逐句翻译一切,只翻译了自己觉得有用的部分。另外此翻译仅供参考,请一切以原文为准。代码例子文件链接什么的都请去原链接查找。 Initializing the OpenGL context 初始化Opengl context 首先加入error cal

  • 该书将介绍使用lwjgl3编写3D游戏所需的主要概念 lwjgl3是一个为开发视频(OpenGL)、音频(OpenAL)和并行计算(OpenCL)应用程序提供对本机API访问的Java库。该库使用Java语言,使用该库开发的OpenGL应用程序能达到高性能运行的效果。 网上没有该书的中文版,本人自行翻译整本书,长期更新。 本人非英语专业出身,因此翻译结果可能会表述不清或与原文有偏差,但是本人尽力而

  • 原文:https://github.com/SilverTiger/lwjgl3-tutorial/wiki/Fonts 译注:并没有逐字逐句翻译一切,只翻译了自己觉得有用的部分。另外此翻译仅供参考,请一切以原文为准。代码例子文件链接什么的都请去原链接查找。括号里的内容一般也是译注,供理解参考用。总目录传送门:http://blog.csdn.net/zoharwolf/article/detai

  • 原文:https://github.com/SilverTiger/lwjgl3-tutorial/wiki/Textures 译注:并没有逐字逐句翻译一切,只翻译了自己觉得有用的部分。另外此翻译仅供参考,请一切以原文为准。代码例子文件链接什么的都请去原链接查找。括号里的内容一般也是译注,供理解参考用。总目录传送门:http://blog.csdn.net/zoharwolf/article/de

  • 原文:https://github.com/SilverTiger/lwjgl3-tutorial/wiki/Game-logic 译注:并没有逐字逐句翻译一切,只翻译了自己觉得有用的部分。另外此翻译仅供参考,请一切以原文为准。代码例子文件链接什么的都请去原链接查找。括号里的内容一般也是译注,供理解参考用。总目录传送门:http://blog.csdn.net/zoharwolf/article/

  • 计算机图形学一直是最能激发我的灵感的学科,我对它有着非常深厚的兴趣。 之前用C++/GLUT做了个入门级的OpenGL开发,时间过去很久了,原来的程序也随着我更换硬盘而丢失。C++我 学的不好,近期也不想重新捡起来。现在我用的最多的两门语言就是PHP和Java,昨天偶然在网上看到两个对于 OpenGL的两个Java类绑定,一个是JOGL,一个是LWJGL。此外还有一个基于LWJGL的游戏引擎JME

 相关资料
  • 全球理念:假设我想做一个游戏/电影/剪辑。为此,我需要这个(不)简单的动画得到工作。 这个问题的一个例子:我得到了类Screen,它有JFrame的Screen Stuff声明,设置它的配置(大小、关闭操作等),然后创建类Box的对象,显示在框架上。请检查这个类的图像/图表(希望我写的是正确的):ClassesDiagram 现在,class Box扩展了JPanel。我从JPanel继承了方法P

  • 本文向大家介绍Java游戏开发拼图游戏经典版,包括了Java游戏开发拼图游戏经典版的使用技巧和注意事项,需要的朋友参考一下 游戏介绍: 拼图游戏是一款经典的益智游戏,游戏难度分为 简单、正常、困难 三种难度,分别对应3*3,4*4,5*5布局,游戏开始前图片被随机打乱,空块位于最右下角,玩家通过点击空块周围图片或者按键方式对图片和空块进行相互交换,直到所有图片都回到原位即为游戏胜利。 本次制作的拼

  • 你的常用的数据结构都有什么? HashMap和HashSet的区别? 怎么构造一个HashMap HashMap优势是什么? 还有什么需要注意的? 扩容机制,hash冲突? 如果你去设计一个Hash函数怎么设计呢? 一般 HashMap多线程情况下会出现什么问题? 怎么解决扩容死链的? 尾插会有什么问题? 数据错乱问题以外还有什么其他问题? 怎么解决这个问题? councurrentHashMap

  • 问题内容: 我很快就要上Java课了,头几周可能会有很多空闲时间。我发现我会在空闲时间去搞游戏设计,并且想知道是否有人可以推荐一些对游戏开发有益的Java库。 谢谢。 问题答案: 我建议您看看Slick2D。它是一个易于使用的综合2D游戏库:一个使用Java进行实验的绝佳平台。 由于您还没有Java的经验,因此建议您不要使用LWJGL等低级库或JMonkeyEngine等复杂库。

  • QQ轻游戏提供无需后台开发工作的后台服务。 包含如下功能 房间逻辑 完整的创建、加入、开始游戏、退出房间、上报逻辑 帧同步、消息同步 提供帧同步、消息同步数据解决方案。 以游戏为单位的云端存储 以游戏为单位的云端存储。每个用户以游戏为单位拥有64K的存储空间。如需扩展需联系腾讯后台开发人员。 陌生人匹配 匹配陌生人加入房间进行游戏。此功能暂不支持管理端配置,开启此功能需联系腾讯后台开发人员。 基本

  • 8.31 一面 20min 0.自我介绍 1.通过这个项目学到了什么 2.主从复制,为什么要用?怎么用? 3.主从复制的最大问题是什么?对于用户而言反应是什么?这个问题给你应该怎么解决? 4.redis怎么用的?为什么要用? 5.redis和主从复制冲突吗? 6.数据库你学过哪些?讲一下 7.count(1)和count(*)是一样的吗 8.tcp和udp区别 9.进程调度算法说一下 10.投的游

  • 翻译自JME官方wiki。原文:3D Game Development Terminology 3D游戏开发术语 开始学习之前,确保你熟知如下概念和术语。 3D图形和音频 OpenGL 即开放式图形库,是一个用来渲染二维或三维计算机图形的跨平台的专业图形程序接口。对于Java来说,有两种基于OpenGL实现的渲染器。 轻量级Java游戏库 (LWJGL) Java开放图形库 (JOGL) Open