raylib-go/examples/shaders/eratosthenes/main.go
2025-06-22 17:48:18 -04:00

42 lines
925 B
Go

package main
import (
rl "git.terah.dev/UnrealXR/raylib-go/raylib"
)
func main() {
screenWidth := int32(800)
screenHeight := int32(450)
rl.InitWindow(screenWidth, screenHeight, "raylib [shaders] example - Eratosthenes")
shader := rl.LoadShader("", "eratosthenes.fs")
target := rl.LoadRenderTexture(screenWidth, screenHeight)
rl.SetTargetFPS(60)
for !rl.WindowShouldClose() {
rl.BeginTextureMode(target)
rl.ClearBackground(rl.Black)
rl.DrawRectangle(0, 0, int32(rl.GetScreenWidth()), int32(rl.GetScreenHeight()), rl.Black)
rl.EndTextureMode()
rl.BeginDrawing()
rl.ClearBackground(rl.RayWhite)
rl.BeginShaderMode(shader)
rl.DrawTextureRec(target.Texture, rl.NewRectangle(0, 0, float32(target.Texture.Width), float32(target.Texture.Height)), rl.Vector2Zero(), rl.White)
rl.EndShaderMode()
rl.EndDrawing()
}
rl.UnloadShader(shader)
rl.UnloadRenderTexture(target)
rl.CloseWindow()
}