https://github.com/xzripper/gsdk
Game Software Development Kit.
https://github.com/xzripper/gsdk
2d 3d game-developement game-engine gsdk java-game
Last synced: 2 months ago
JSON representation
Game Software Development Kit.
- Host: GitHub
- URL: https://github.com/xzripper/gsdk
- Owner: xzripper
- License: mit
- Created: 2024-06-07T11:41:46.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-02-01T15:22:50.000Z (4 months ago)
- Last Synced: 2025-02-01T16:27:05.341Z (4 months ago)
- Topics: 2d, 3d, game-developement, game-engine, gsdk, java-game
- Language: Java
- Homepage: https://xzripper.github.io/gsdk
- Size: 15.7 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

VSDK is now being rebranded to GSDK due to transfer of project from studio profile to main developer profile.
todo gshader:begin:end:is_begun
GSDK Development Phase:
GSDK_V0.0.0.8-ALPHA/DEV_PUBLISH
.GSDK is currently being developed by a solo developer. I appreciate your patience and understanding as progress may take some time.

New! Visit documentation (extremely unfinished): https://violent-studio.github.io/vsdkExample 1
```java
import com.raylib.Raylib;import com.raylib.Jaylib.Vector3;
import static com.raylib.Jaylib.BLACK;
import vsdk.source.utils.WindowManager;
import static vsdk.source.utils.WindowManager.WindowFlags;import vsdk.source.vectors.Vector2Df;
import vsdk.source.vectors.Vector3Df;import vsdk.source.vrender.Quad;
import vsdk.source.utils.GShader;
public class Main {
public static void main(String[] args) {
WindowFlags flags = WindowManager.initWindow(
"Window.",
1000,
800,
120,
WindowManager.FULLSCREEN_MODE,
Raylib.FLAG_VSYNC_HINT | Raylib.FLAG_MSAA_4X_HINT,
false
);Raylib.Camera3D cam = new Raylib.Camera3D()
._position(new Vector3(1.0f, 0.0f, 0.0f))
.target(new Vector3(0.0f, 0.0f, 0.0f))
.up(new Vector3(0.0f, 1.0f, 0.0f))
.fovy(45.0f)
.projection(Raylib.CAMERA_PERSPECTIVE);GShader rainbow = new GShader(null, "shdr.frag", GShader.FILE, false);
rainbow.combineFragment(GShader.FILE, "shdr2.frag");
Raylib.DisableCursor();
while(!Raylib.WindowShouldClose()) {
Raylib.UpdateCamera(cam, Raylib.CAMERA_FREE);Raylib.BeginDrawing();
Raylib.ClearBackground(BLACK);
Raylib.BeginMode3D(cam);rainbow.setUniformFloat("time", (float) Raylib.GetTime());
rainbow.begin();
for(int z=-10; z < 20; z += 10) {
Quad.drawQuad(
new Vector2Df(10, 10),
new Vector3Df(0, 0, z),
new Vector3Df(90, (float) Math.cos(Raylib.GetTime() * 0.7) * 90, 0),
BLACK,
true
);
}rainbow.end();
Raylib.EndMode3D();
Raylib.EndDrawing();
}rainbow.unload();
Raylib.CloseWindow();
}
}
```shdr.frag
```glsl
//:put-version//:put-io
//:put-univoid main() {
//:pshdr#gradfinalColor = color;
}
```shdr2.frag
```glsl
//:version
#version 330//:io
in vec2 fragTexCoord;
out vec4 finalColor;
//:eio//:uni
uniform float time;
//:eunivoid main() {
//:shdr#grad
float speed = 4.0;
float frequency = 64.0;float red = 0.5 + 0.5 * sin(frequency * fragTexCoord.x + speed * time + 0.0);
float green = 0.5 + 0.5 * sin(frequency * fragTexCoord.x + speed * time + 2.0);
float blue = 0.5 + 0.5 * sin(frequency * fragTexCoord.x + speed * time + 4.0);vec4 color = vec4(red, green, blue, 1.0);
//:eshdrfinalColor = color;
}
```
GSDK Baked 2D Glow Textures.
GSDK Bump Mapping.
```java
import com.raylib.Raylib;import static com.raylib.Jaylib.Vector3;
import static com.raylib.Jaylib.BLACK;
import static com.raylib.Jaylib.WHITE;import gsdk.source.grender.BumpMap;
public class Main {
public static void main(String[] args) {
Raylib.InitWindow(1000, 800, "Test window.");Raylib.SetTargetFPS(60);
Raylib.Camera3D cam = new Raylib.Camera3D()
._position(new Vector3(3.0f, 0.0f, 0.0f))
.target(new Vector3(0.0f, 0.0f, 0.0f))
.up(new Vector3(0.0f, 1.0f, 0.0f))
.fovy(45.0f)
.projection(Raylib.CAMERA_PERSPECTIVE);Raylib.Model cube = Raylib.LoadModelFromMesh(Raylib.GenMeshCube(3.0f, 2.5f, 0.3f));
BumpMap bumpMap = new BumpMap("RES\\albedo2.png",
"RES\\normal2.png",
new float[] {0.0f, 0.0f, 0.0f},
new float[] {0.0f, 0.0f, 0.0f}, 32.0f, 0.1f, true);cube.materials(bumpMap.getBumpMaterial());
while(!Raylib.WindowShouldClose()) {
Raylib.UpdateCamera(cam, Raylib.CAMERA_ORBITAL);Raylib.BeginDrawing();
Raylib.ClearBackground(BLACK);
Raylib.BeginMode3D(cam);bumpMap.updLightPos(new float[] {Raylib.GetMouseX(), Raylib.GetMouseY(), 0.0f});
bumpMap.updViewPos(new float[]{cam.target().x(), cam.target().y(), cam.target().z()});Raylib.DrawModel(cube, new Vector3(0.0f, 0.0f, 0.0f), 1.0f, WHITE);
Raylib.EndMode3D();
Raylib.EndDrawing();
}Raylib.UnloadModel(cube);
Raylib.CloseWindow();
}
}
```
GSDK Chat implementation via Ginet (Game Immediate mode Networking library).
GSDK Noise Generator.
GSDK Shader Playground.
GSDK IGUI.
GSDK OPC2D.
GSDK 3D Particle Emitter.
Smoke Tunnel
Smoke Torus
Particles
Smoke particles