Skip to content

Commit 89ac743

Browse files
committed
Basic shaders
1 parent 95ff9ce commit 89ac743

File tree

6 files changed

+105
-3
lines changed

6 files changed

+105
-3
lines changed

coffee/client/module/World/AnimatedTextureAtlas.coffee

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,51 @@ class AnimatedTextureAtlas
7474
map:null
7575
vertexColors: true
7676
})
77+
xd=true
78+
@material.onBeforeCompile=(shader)->
79+
console.log shader
80+
81+
#Uniforms
82+
shader.uniforms.u_fogColor={value:[0.8, 0.9, 1, 1]}
83+
shader.uniforms.u_fogAmount={value:0.2}
84+
shader.uniforms.u_fogNear={value:10}
85+
shader.uniforms.u_fogFar={value:30}
86+
shader.uniforms.time={value:0}
87+
setInterval ()->
88+
shader.uniforms.time.value+=0.05
89+
,10
90+
91+
#Fragment shader
92+
shader.fragmentShader=[
93+
"uniform vec4 u_fogColor;"
94+
"uniform float u_fogNear;"
95+
"uniform float u_fogFar;"
96+
"uniform float u_fogAmount;"
97+
shader.fragmentShader
98+
].join("\n")
99+
# # shader.fragmentShader="uniform vec4 fogColor;\nuniform float fogAmount;\n"+shader.fragmentShader
100+
shader.fragmentShader=shader.fragmentShader.replace(
101+
"gl_FragColor = vec4( outgoingLight, diffuseColor.a );"
102+
[
103+
"gl_FragColor = vec4( outgoingLight, diffuseColor.a );"
104+
"gl_FragColor = mix(gl_FragColor,u_fogColor,u_fogAmount);"
105+
].join("\n")
106+
)
107+
108+
#Vertex shader
109+
shader.vertexShader=[
110+
"uniform float time;"
111+
"uniform mat4 u_worldView;"
112+
"attribute vec4 a_position;"
113+
shader.vertexShader
114+
].join("\n")
115+
shader.vertexShader=shader.vertexShader.replace(
116+
"#include <begin_vertex>"
117+
"vec3 transformed = vec3( position.x + sin( time + position.y ) / 8.0, position.y, position.z );"
118+
)
119+
120+
materialShader = shader
121+
return
77122
@atlasCreator=new TextureAtlasCreator({
78123
textureX:@al.get "blocksAtlasFull"
79124
textureMapping:@al.get "blocksMappingFull"
@@ -83,6 +128,7 @@ class AnimatedTextureAtlas
83128
t=@atlasCreator.gen(i).toDataURL()
84129
tekstura=new THREE.TextureLoader().load t
85130
tekstura.magFilter = THREE.NearestFilter
131+
tekstura.minFilter = THREE.NearestFilter
86132
savedTextures.push tekstura
87133
tickq=0
88134
setInterval(()->

coffee/client/module/World/World.coffee

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class World
1717
@ATA=new AnimatedTextureAtlas {al:@al}
1818
@material=@ATA.material
1919
@cellUpdateTime=null
20-
@renderTime=500
20+
@renderTime=100
2121
@neighbours=[[-1, 0, 0],[1, 0, 0],[0, -1, 0],[0, 1, 0],[0, 0, -1],[0, 0, 1]]
2222

2323
#Utworzenie Workera do obliczania geometrii chunków

coffee/client/module/index.coffee

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ init = ()->
3636
directionalLight = new THREE.DirectionalLight 0x333333, 2
3737
directionalLight.position.set(1, 1, 0.5).normalize()
3838
scene.add directionalLight
39+
#Text geometry
40+
# new THREE.TextGeometry 'Hello three.js!', {
41+
# size: 80
42+
# height: 5
43+
# curveSegments: 12
44+
# bevelEnabled: true
45+
# bevelThickness: 10
46+
# bevelSize: 8
47+
# bevelOffset: 0
48+
# bevelSegments: 5
49+
# }
3950

4051
#Informacja o gpu komputera
4152
console.warn gpuInfo()

src/client/module/World/AnimatedTextureAtlas.js

Lines changed: 34 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/client/module/World/World.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/client/module/index.js

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)