Mercurial > games > semicongine
comparison tests/test_vulkan_wrapper.nim @ 321:30117d8f0052
did next step in renderpipeline-refactoring, using shaderconfiguration objects instead for less ambigious shader-pipeline configuration
author | Sam <sam@basx.dev> |
---|---|
date | Tue, 15 Aug 2023 23:51:37 +0700 |
parents | b145a05c2459 |
children | 6dab370d1758 |
comparison
equal
deleted
inserted
replaced
320:89800309ab09 | 321:30117d8f0052 |
---|---|
83 proc main() = | 83 proc main() = |
84 var engine = initEngine("Test") | 84 var engine = initEngine("Test") |
85 | 85 |
86 # INIT RENDERER: | 86 # INIT RENDERER: |
87 const | 87 const |
88 vertexInput = @[ | 88 shaderConfiguration = createShaderConfiguration( |
89 attr[Vec3f]("position", memoryPerformanceHint=PreferFastRead), | 89 inputs=[ |
90 attr[Vec4f]("color", memoryPerformanceHint=PreferFastWrite), | 90 attr[Vec3f]("position", memoryPerformanceHint=PreferFastRead), |
91 attr[Vec3f]("translate", perInstance=true) | 91 attr[Vec4f]("color", memoryPerformanceHint=PreferFastWrite), |
92 ] | 92 attr[Vec3f]("translate", perInstance=true) |
93 intermediate = @[attr[Vec4f]("outcolor")] | 93 ], |
94 fragOutput = @[attr[Vec4f]("color")] | 94 intermediates=[attr[Vec4f]("outcolor")], |
95 samplers = @[attr[Sampler2DType]("my_little_texture")] | 95 outputs=[attr[Vec4f]("color")], |
96 uniforms = @[attr[float32]("time")] | 96 uniforms=[attr[float32]("time")], |
97 (vertexCode, fragmentCode) = compileVertexFragmentShaderSet( | 97 samplers=[attr[Sampler2DType]("my_little_texture")], |
98 inputs=vertexInput, | |
99 intermediate=intermediate, | |
100 outputs=fragOutput, | |
101 samplers=samplers, | |
102 uniforms=uniforms, | |
103 vertexCode="""gl_Position = vec4(position + translate, 1.0); outcolor = color;""", | 98 vertexCode="""gl_Position = vec4(position + translate, 1.0); outcolor = color;""", |
104 fragmentCode="color = texture(my_little_texture, outcolor.xy) * 0.5 + outcolor * 0.5;", | 99 fragmentCode="color = texture(my_little_texture, outcolor.xy) * 0.5 + outcolor * 0.5;", |
105 ) | 100 ) |
106 var renderPass = engine.gpuDevice.simpleForwardRenderPass(vertexCode, fragmentCode) | 101 var renderPass = engine.gpuDevice.simpleForwardRenderPass(shaderConfiguration) |
107 engine.setRenderer(renderPass) | 102 engine.setRenderer(renderPass) |
108 | 103 |
109 # INIT SCENES | 104 # INIT SCENES |
110 var scenes = [ | 105 var scenes = [ |
111 newScene("simple", scene_simple()), | 106 newScene("simple", scene_simple()), |