Last Update: 22/April/2022.
If you like the project, please give it a star ⭐ It will show the creator your appreciation and help others to discover the repo.
A collection of various utilities, classes and shaders for Java
+OpenGL
+GLSL
(fixed function pipeline mostly) programming. The sources were originally developed for education pusposes and then I decided to open source everything.
- The sources are legacy and were originally developed using
JDK 5.0
,JDK 6.0
,OpenGL 1.0
,OpenGL 1.1
,OpenGL 1.2
,OpenGL 2.0
, andOpenGL 3.1
- take it into consideration if you decide to use the sources. - The used assets were found on the
Web
and cannot be used in commertial purposes.
Simply copy-paste shader programms
and classes
into your project. Import them to class(es) that you need to and you're good to go.
- You might see that the author in some places is
Virus
. This is my nickname. - The used assets were found on the
Web
. Do not use them for commertial purposes. They are only used for demostration. - My appologies for the lack of comments and proper explanation of what is going on inside of complex shaders and classes.
- The main reason for publishing this code was to share some groundwork related to
OpenGL's
fixed function pipeline, which may be useful for some developers or early stage learnerns.
[*] The term Object
referes to the commonly used naming convention in OpenGL
(Vertex Buffer Object
, Vertex Index Object
etc.) and has no relation to Object-Oriented Paradigm
.
Tools, Data Structures and Utilities:
- Accumulation Buffer - high-level tool for
OpenGL's Accumulation Buffer
- Stencil Buffer - high-level tool for
OpenGL's Stencil Buffer
- Walkable Goblin Demo - demonstrates an
animation
approach related to 3D model and how programmatically you can buildmirrors
- Various drawing methods - high-level tools for
immediate mode drawing
,display lists
,VAO
andVBO
- Camera PP - implementation of a
camera
for programmable rendering pipeline - Image Loader
- Model Loader
- Model Object
- Texture Object
- Timer Utility
- Matrix Utility
- Buffer Tools
- Various Camera Implementations for FPP -
First person
andEuler
camera implementations - Color Objects
- FPS Meter
- GLUT
- Meth Tools
- Shader Program Object
- Timer
- Buffer Utils 1
- Buffer Utils 2
- Image Processor
- Screenshooter
- JPEG Drawer
- Various Image Readers: PNG, RAW, TWL, TARGA, Height Map
- Sprite Sheet and Entity Rendering
- Texture Loader/Uploader Objects
- Ketframe Animation Utilities
- Lightning
- Shadow Mapping and Gereration
- Matrix Utilities
- Model Representation: Face and Model
- OBJ Drawer, Loader and Parser
- Particle System
- Physics Primitives: AABB2d, AABB3d, Bounding Boxes, Bounding Volumes and vairous physics shapes
- Point Data Structure
- Primitive Geometric Objects
- Quaternion Data Structure
- Cubic and Spheric Skyboxes
- Terrain
- Vector Data Structre
Examples of:
Shaders:
- Base Rendering
- Texturing
- Twist Effect
- NVIDIA'S GPU Gems Implementation for Wave Simulation
- Lamberian Light Model
- Phong Light Model
- Ambient Light
- Colorize
- Diffuse Light
- Flatten Shading
- Landscape/Hightmap Helper
- Per-fragment Phong Light Model
- Per-fragment Lighting
- Per-pixel Phong Light Model
- Per-pixel Point Light Model
- Per-pixel Spot Light
- Per-pixel Toon Shading
- Plastic Lighing
- Specular Lighting 01
- Specular Lighting 02
- Toon Shading
jToolkit
is realeased under the MIT License