Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
integeruser authored Nov 28, 2016
1 parent 2b4cf04 commit a592d4d
Showing 1 changed file with 12 additions and 19 deletions.
31 changes: 12 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
# Learning Modern 3D Graphics Programming with LWJGL 3 and JOML
This project is a port of *[Learning Modern 3D Graphics Programming](http://alfonse.bitbucket.org/oldtut/)* tutorials to Java using [LWJGL](https://www.lwjgl.org/) and [JOML](http://joml-ci.github.io/JOML/), distributed in the hope that it will be useful. The original project, named `gltut`, can be found [here](https://bitbucket.org/alfonse/gltut/wiki/Home). Since it is needed by the tutorials, this repository also includes a partial port of the *[Unofficial OpenGL SDK](https://bitbucket.org/alfonse/unofficial-opengl-sdk/wiki/Home)*, named `glsdk`, which contains a DDS texture loader and other useful stuff.
This project is a port of *[Learning Modern 3D Graphics Programming](http://alfonse.bitbucket.org/oldtut/)* tutorials to Java using [LWJGL](https://www.lwjgl.org/) and [JOML](http://joml-ci.github.io/JOML/). The original project, named `gltut`, can be found [here](https://bitbucket.org/alfonse/gltut/wiki/Home). Since it is needed by the tutorials, this repository also includes a partial port of the *[Unofficial OpenGL SDK](https://bitbucket.org/alfonse/unofficial-opengl-sdk/wiki/Home)*, named `glsdk`, which contains a DDS texture loader and other useful stuff.

To try the tutorials without building the source code, you can download the runnable JAR included in the [Releases](https://github.com/integeruser/jgltut/releases) section. Many tutorials print messages to console: run the JAR from the command line with `java -jar jgltut.jar` to view the output (also useful in case of errors).

I can't dedicate much time to this project anymore, but I will keep it updated to work with recent versions of LWJGL and JOML. To suggest a feature, report bugs or general discussion use the [issue tracker](https://github.com/integeruser/jgltut/issues).

Contributions are welcome! :smile:
To suggest a feature, report bugs or general discussion use the [issue tracker](https://github.com/integeruser/jgltut/issues). Contributions are welcome!


## Usage
Expand All @@ -29,8 +25,12 @@ Finally, run the `main` method of the first tutorial `integeruser.jgltut.tut01.T


## Notes
I decided to keep the ported code as similar as possible to the original C++ code, despite I would have done some things differently, and variable and function names are almost identical to their counterpart in the original projects. The only notable difference is the introduction of the `commons` package, to collect some classes used in several parts of the project. I also decided to keep the same directory layout:
I decided to keep the ported code as similar as possible to the original C++ code, and therefore variables and functions are almost identical to their counterpart in the original projects. The only notable difference is the introduction of the `commons` package to collect some classes used in several parts of the project. I also decided to keep the same directory layout:
```
jglsdk/
|-- glimg/
|-- glutil/
jgltut/
|-- commons/
|-- data/
Expand All @@ -51,23 +51,16 @@ jgltut/
|------ ProjectedLight.java
|-- Tutorial.java
|-- TutorialChooser.java
jglsdk/
|-- glimg/
|-- glutil/
```
Each tutorial loads the files it needs from the global `integeruser.jgltut.data` folder or from its own `data` folder. The `integeruser.jgltut.framework` package contains utility code needed by multiple tutorials.

At first, the code may appear difficult to read, but after a bit of reading you will realize that it is well-grouped into logical sections. I suggest you to start by skimming through the code with methods and inner classes folded. Don't get lost in the details of the `integeruser.jglsdk` module which contains only utility classes.


## Credits
The LWJGL license can be found [here](http://lwjgl.org/license.php).
The JOML license can be found [here](https://github.com/JOML-CI/JOML/blob/master/LICENSE).
Licenses of the projects `gltut` and `glsdk` can be found [here](https://bitbucket.org/alfonse/gltut/raw/3ee6f3dd04a7/License.txt) and
[here](https://bitbucket.org/alfonse/unofficial-opengl-sdk/raw/1893b6e851b9/License.txt).
The LWJGL license can be found [here](http://lwjgl.org/license.php).

The JOML license can be found [here](https://github.com/JOML-CI/JOML/blob/master/LICENSE).

Extract from the `gltut` license:
Licenses of the projects `gltut` and `glsdk` can be found [here](https://bitbucket.org/alfonse/gltut/raw/3ee6f3dd04a7/License.txt) and
[here](https://bitbucket.org/alfonse/unofficial-opengl-sdk/raw/1893b6e851b9/License.txt). Extract from the `gltut` license:
> The following files are copywritten and distributed under the Creative Commons Attribution 3.0 Unported (CC BY 3.0) license, as described in the "./CC BY 3.0 legalcode.txt" file. Attribution for these works is presented here:
>
> Attributed to Etory, of OpenGameArt.org:
Expand Down

0 comments on commit a592d4d

Please sign in to comment.