Initial commit

This commit is contained in:
Milan Nikolic 2017-01-27 09:35:30 +01:00
commit d7ff68b487
196 changed files with 286314 additions and 0 deletions

View file

@ -0,0 +1,26 @@
#version 330
// Input vertex attributes
in vec3 vertexPosition;
in vec2 vertexTexCoord;
in vec3 vertexNormal;
in vec4 vertexColor;
// Input uniform values
uniform mat4 mvpMatrix;
// Output vertex attributes (to fragment shader)
out vec2 fragTexCoord;
out vec4 fragColor;
// NOTE: Add here your custom variables
void main()
{
// Send vertex attributes to fragment shader
fragTexCoord = vertexTexCoord;
fragColor = vertexColor;
// Calculate final vertex position
gl_Position = mvpMatrix*vec4(vertexPosition, 1.0);
}

View file

@ -0,0 +1,26 @@
#version 330
// Input vertex attributes (from vertex shader)
in vec2 fragTexCoord;
in vec4 fragColor;
// Input uniform values
uniform sampler2D texture0;
uniform vec4 colDiffuse;
// Output fragment color
out vec4 finalColor;
// NOTE: Add here your custom variables
void main()
{
// Texel color fetching from texture sampler
vec4 texelColor = texture(texture0, fragTexCoord)*colDiffuse*fragColor;
// Convert texel color to grayscale using NTSC conversion weights
float gray = dot(texelColor.rgb, vec3(0.299, 0.587, 0.114));
// Calculate final fragment color
finalColor = vec4(gray, gray, gray, texelColor.a);
}

View file

@ -0,0 +1,72 @@
package main
import (
"github.com/gen2brain/raylib-go/raylib"
)
func main() {
screenWidth := int32(800)
screenHeight := int32(450)
raylib.InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders")
sonic := raylib.LoadTexture("sonic.png")
// NOTE: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version
shader := raylib.LoadShader("glsl330/base.vs", "glsl330/grayscale.fs")
raylib.SetTargetFPS(60)
for !raylib.WindowShouldClose() {
raylib.BeginDrawing()
raylib.ClearBackground(raylib.RayWhite)
// Start drawing with default shader
raylib.DrawText("USING DEFAULT SHADER", 20, 40, 10, raylib.Red)
raylib.DrawCircle(80, 120, 35, raylib.DarkBlue)
raylib.DrawCircleGradient(80, 220, 60, raylib.Green, raylib.SkyBlue)
raylib.DrawCircleLines(80, 340, 80, raylib.DarkBlue)
// Activate our custom shader to be applied on next shapes/textures drawings
raylib.BeginShaderMode(shader)
raylib.DrawText("USING CUSTOM SHADER", 190, 40, 10, raylib.Red)
raylib.DrawRectangle(250-60, 90, 120, 60, raylib.Red)
raylib.DrawRectangleGradient(250-90, 170, 180, 130, raylib.Maroon, raylib.Gold)
raylib.DrawRectangleLines(250-40, 320, 80, 60, raylib.Orange)
// Activate our default shader for next drawings
raylib.EndShaderMode()
raylib.DrawText("USING DEFAULT SHADER", 370, 40, 10, raylib.Red)
raylib.DrawTriangle(raylib.NewVector2(430, 80),
raylib.NewVector2(430-60, 150),
raylib.NewVector2(430+60, 150), raylib.Violet)
raylib.DrawTriangleLines(raylib.NewVector2(430, 160),
raylib.NewVector2(430-20, 230),
raylib.NewVector2(430+20, 230), raylib.DarkBlue)
raylib.DrawPoly(raylib.NewVector2(430, 320), 6, 80, 0, raylib.Brown)
// Activate our custom shader to be applied on next shapes/textures drawings
raylib.BeginShaderMode(shader)
raylib.DrawTexture(sonic, 380, -10, raylib.White) // Using custom shader
// Activate our default shader for next drawings
raylib.EndShaderMode()
raylib.EndDrawing()
}
raylib.UnloadShader(shader) // Unload shader
raylib.UnloadTexture(sonic) // Unload texture
raylib.CloseWindow() // Close window and OpenGL context
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB