An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

        

![java_kbSEhZPUez-min](https://github.com/user-attachments/assets/35914fb0-5649-4180-9261-1141a694e486)

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.

![opera_bFDdi1rxJH](https://github.com/user-attachments/assets/eb75b696-df66-453c-98d9-80a1c10e35b3)
New! Visit documentation (extremely unfinished): https://violent-studio.github.io/vsdk

Example 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-uni

void main() {
//:pshdr#grad

finalColor = color;
}
```

shdr2.frag
```glsl
//:version
#version 330

//:io
in vec2 fragTexCoord;
out vec4 finalColor;
//:eio

//:uni
uniform float time;
//:euni

void 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);
//:eshdr

finalColor = 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