ebiten/examples/shader/default_go.go
2020-07-19 15:42:35 +09:00

7 lines
1.5 KiB
Go

// Code generated by file2byteslice. DO NOT EDIT.
// (gofmt is fine after generating)
package main
var default_go = []byte("// Copyright 2020 The Ebiten Authors\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n// +build ignore\n\npackage main\n\nvar Time float\nvar Cursor vec2\n\n// viewportSize is a predefined function.\n\nfunc Vertex(position vec2, texCoord vec2, color vec4) vec4 {\n\treturn mat4(\n\t\t2/viewportSize().x, 0, 0, 0,\n\t\t0, 2/viewportSize().y, 0, 0,\n\t\t0, 0, 1, 0,\n\t\t-1, -1, 0, 1,\n\t) * vec4(position, 0, 1)\n}\n\nfunc Fragment(position vec4) vec4 {\n\tpos := position.xy/viewportSize() + Cursor/viewportSize()/4\n\tcolor := 0.0\n\tcolor += sin(pos.x*cos(Time/15)*80) + cos(pos.y*cos(Time/15)*10)\n\tcolor += sin(pos.y*sin(Time/10)*40) + cos(pos.x*sin(Time/25)*40)\n\tcolor += sin(pos.x*sin(Time/5)*10) + sin(pos.y*sin(Time/35)*80)\n\tcolor *= sin(Time/10) * 0.5\n\treturn vec4(color, color*0.5, sin(color+Time/3)*0.75, 1)\n}\n")