• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Go で書き直した Ikemen


コミットメタ情報

リビジョン16b2e87dbb15a07083d6f758459d7166c78d83f3 (tree)
日時2019-05-29 23:03:42
作者neatunsou <sisiy4excite@gmai...>
コミッターneatunsou

ログメッセージ

nckgriva氏の更新に対応

変更サマリ

差分

--- a/src/render.go
+++ b/src/render.go
@@ -27,7 +27,7 @@ var postTexUniform int32
2727 var postTexSizeUniform int32
2828 var postVertices = [8]float32{-1, -1, 1, -1, -1, 1, 1, 1}
2929
30-var postShaderSelect [3]uintptr
30+var postShaderSelect [4]uintptr
3131
3232 func RenderInit() {
3333 vertShader := "attribute vec2 position;" +
@@ -190,6 +190,13 @@ func RenderInit() {
190190 postShaderSelect[2] = link(vertObj, fragObj)
191191 gl.DeleteObjectARB(vertObj)
192192 gl.DeleteObjectARB(fragObj)
193+
194+ // [3]: scanline shader
195+ vertObj = compile(gl.VERTEX_SHADER, scanlineVertShader)
196+ fragObj = compile(gl.FRAGMENT_SHADER, scanlineFragShader)
197+ postShaderSelect[3] = link(vertObj, fragObj)
198+ gl.DeleteObjectARB(vertObj)
199+ gl.DeleteObjectARB(fragObj)
193200
194201 gl.ActiveTexture(gl.TEXTURE0)
195202 gl.GenTextures(1, &fbo_texture)
@@ -838,3 +845,29 @@ void main()
838845 gl_FragColor.xyz=(w1*(i1+i3)+w2*(i2+i4)+w3*(s1+s3)+w4*(s2+s4)+c)/(2.0*(w1+w2+w3+w4)+1.0);
839846 gl_FragColor.a = 1.0;
840847 }` + "\x00"
848+
849+var scanlineVertShader string = `
850+uniform vec2 TextureSize;
851+attribute vec2 VertCoord;
852+
853+void main(void) {
854+ gl_Position = vec4(VertCoord, 0.0, 1.0);
855+ gl_TexCoord[0].xy = (VertCoord + 1.0) / 2.0;
856+}
857+` + "\x00"
858+
859+var scanlineFragShader string = `
860+uniform sampler2D Texture;
861+uniform vec2 TextureSize;
862+
863+void main(void) {
864+ vec4 rgb = texture2D(Texture, gl_TexCoord[0].xy);
865+ vec4 intens ;
866+ if (fract(gl_FragCoord.y * (0.5*4.0/3.0)) > 0.5)
867+ intens = vec4(0);
868+ else
869+ intens = smoothstep(0.2,0.8,rgb) + normalize(vec4(rgb.xyz, 1.0));
870+ float level = (4.0-gl_TexCoord[0].z) * 0.19;
871+ gl_FragColor = intens * (0.5-level) + rgb * 1.1 ;
872+}
873+` + "\x00"