Mercurial > games > semicongine
comparison tests/test_vulkan_wrapper.nim @ 316:b145a05c2459
add: changing rendering system, not finished yet, also upgrading to Nim 2
author | Sam <sam@basx.dev> |
---|---|
date | Mon, 07 Aug 2023 00:23:00 +0700 |
parents | 4921ec86dcb4 |
children | 30117d8f0052 |
comparison
equal
deleted
inserted
replaced
315:4921ec86dcb4 | 316:b145a05c2459 |
---|---|
88 vertexInput = @[ | 88 vertexInput = @[ |
89 attr[Vec3f]("position", memoryPerformanceHint=PreferFastRead), | 89 attr[Vec3f]("position", memoryPerformanceHint=PreferFastRead), |
90 attr[Vec4f]("color", memoryPerformanceHint=PreferFastWrite), | 90 attr[Vec4f]("color", memoryPerformanceHint=PreferFastWrite), |
91 attr[Vec3f]("translate", perInstance=true) | 91 attr[Vec3f]("translate", perInstance=true) |
92 ] | 92 ] |
93 vertexOutput = @[attr[Vec4f]("outcolor")] | 93 intermediate = @[attr[Vec4f]("outcolor")] |
94 fragOutput = @[attr[Vec4f]("color")] | |
95 samplers = @[attr[Sampler2DType]("my_little_texture")] | |
94 uniforms = @[attr[float32]("time")] | 96 uniforms = @[attr[float32]("time")] |
95 samplers = @[attr[Sampler2DType]("my_little_texture")] | 97 (vertexCode, fragmentCode) = compileVertexFragmentShaderSet( |
96 fragOutput = @[attr[Vec4f]("color")] | |
97 vertexCode = compileGlslShader( | |
98 stage=VK_SHADER_STAGE_VERTEX_BIT, | |
99 inputs=vertexInput, | 98 inputs=vertexInput, |
99 intermediate=intermediate, | |
100 outputs=fragOutput, | |
101 samplers=samplers, | |
100 uniforms=uniforms, | 102 uniforms=uniforms, |
101 samplers=samplers, | 103 vertexCode="""gl_Position = vec4(position + translate, 1.0); outcolor = color;""", |
102 outputs=vertexOutput, | 104 fragmentCode="color = texture(my_little_texture, outcolor.xy) * 0.5 + outcolor * 0.5;", |
103 main="""gl_Position = vec4(position + translate, 1.0); outcolor = color;""" | |
104 ) | |
105 fragmentCode = compileGlslShader( | |
106 stage=VK_SHADER_STAGE_FRAGMENT_BIT, | |
107 inputs=vertexOutput, | |
108 uniforms=uniforms, | |
109 samplers=samplers, | |
110 outputs=fragOutput, | |
111 main="color = texture(my_little_texture, outcolor.xy) * 0.5 + outcolor * 0.5;" | |
112 ) | 105 ) |
113 var renderPass = engine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode) | 106 var renderPass = engine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode) |
114 engine.setRenderer(renderPass) | 107 engine.setRenderer(renderPass) |
115 | 108 |
116 # INIT SCENES | 109 # INIT SCENES |