From 922e4cf0f14e8598671a53ed71cc1d5858fbaca1 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Wed, 2 Mar 2022 15:41:52 -0800 Subject: [PATCH] API update --- Content/hexagon_grid.spv | Bin 48988 -> 49132 bytes lib/MoonWorks | 2 +- moonlibs/windows/Refresh.dll | Bin 340992 -> 119296 bytes src/{Vertex.cs => PositionTexture.cs} | 7 +- src/Program.cs | 10 +- src/TestGame.cs | 321 +++++---------- src/hexagon_grid.frag | 550 ++++++++++++++++++++++++++ 7 files changed, 656 insertions(+), 234 deletions(-) rename src/{Vertex.cs => PositionTexture.cs} (51%) create mode 100644 src/hexagon_grid.frag diff --git a/Content/hexagon_grid.spv b/Content/hexagon_grid.spv index b05224c186a5b147bb91fd014786a642e2f71eda..a9ddd45430b126a047fff1bc78f879d07c4eca2c 100644 GIT binary patch delta 6036 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 delta 5927 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 Gm;E2J=wycg diff --git a/lib/MoonWorks b/lib/MoonWorks index d2fca36..111df04 160000 --- a/lib/MoonWorks +++ b/lib/MoonWorks @@ -1 +1 @@ -Subproject commit d2fca3654bd90817885f0006058cccd6437da22c +Subproject commit 111df04c0f7be740108cc3536eda3629572714d8 diff --git a/moonlibs/windows/Refresh.dll b/moonlibs/windows/Refresh.dll index 2d0c008a4c95269f0901c248967a69d43c4f04c6..09ca1226ce15a7f8a04d1b0185a3a08baca600e2 100644 GIT binary patch literal 119296 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�F{N(xKpkt5ViBUHF=)au1{ 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 V!bjKwVGD#U5Vk(GraphicsDevice, BufferUsageFlags.Vertex, 3); uploadCommandBuffer.SetBufferData(vertexBuffer, vertices); GraphicsDevice.Submit(uploadCommandBuffer); - /* Render Pass */ - - renderArea.X = 0; - renderArea.Y = 0; - renderArea.W = (int) windowWidth; - renderArea.H = (int) windowHeight; - - flip.X = 0; - flip.Y = (int) windowHeight; - flip.W = (int) windowWidth; - flip.H = -(int) windowHeight; - - clearColor.R = 237; - clearColor.G = 41; - clearColor.B = 57; - clearColor.A = byte.MaxValue; - - ColorTargetDescription colorTargetDescription = new ColorTargetDescription - { - Format = TextureFormat.R8G8B8A8, - MultisampleCount = SampleCount.One, - LoadOp = LoadOp.Clear, - StoreOp = StoreOp.Store - }; - - mainRenderPass = new RenderPass(GraphicsDevice, colorTargetDescription); - - mainColorTargetTexture = Texture.CreateTexture2D( - GraphicsDevice, - windowWidth, - windowHeight, - TextureFormat.R8G8B8A8, - TextureUsageFlags.ColorTarget - ); - - mainColorTargetTextureSlice = new TextureSlice(mainColorTargetTexture); - mainColorTarget = new RenderTarget(GraphicsDevice, mainColorTargetTextureSlice); - - mainFramebuffer = new Framebuffer( - GraphicsDevice, - windowWidth, - windowHeight, - mainRenderPass, - null, - mainColorTarget - ); - /* Pipeline */ - ColorTargetBlendState[] colorTargetBlendStates = new ColorTargetBlendState[1] - { - ColorTargetBlendState.None - }; - - ColorBlendState colorBlendState = new ColorBlendState - { - LogicOpEnable = false, - LogicOp = LogicOp.NoOp, - BlendConstants = new BlendConstants(), - ColorTargetBlendStates = colorTargetBlendStates - }; - - DepthStencilState depthStencilState = DepthStencilState.Disable; - - ShaderStageState vertexShaderState = new ShaderStageState - { - ShaderModule = passthroughVertexShaderModule, - EntryPointName = "main", - UniformBufferSize = 0 - }; - - ShaderStageState fragmentShaderState = new ShaderStageState - { - ShaderModule = raymarchFragmentShaderModule, - EntryPointName = "main", - UniformBufferSize = 16 - }; - - MultisampleState multisampleState = MultisampleState.None; - - GraphicsPipelineLayoutInfo pipelineLayoutInfo = new GraphicsPipelineLayoutInfo - { - VertexSamplerBindingCount = 0, - FragmentSamplerBindingCount = 2 - }; - - RasterizerState rasterizerState = RasterizerState.CW_CullBack; - - var vertexBindings = new VertexBinding[1] - { - new VertexBinding - { - Binding = 0, - InputRate = VertexInputRate.Vertex, - Stride = 4 * 5 - } - }; - - var vertexAttributes = new VertexAttribute[2] - { - new VertexAttribute - { - Binding = 0, - Location = 0, - Format = VertexElementFormat.Vector3, - Offset = 0 - }, - new VertexAttribute - { - Binding = 0, - Location = 1, - Format = VertexElementFormat.Vector2, - Offset = 4 * 3 - } - }; - - VertexInputState vertexInputState = new VertexInputState - { - VertexBindings = vertexBindings, - VertexAttributes = vertexAttributes - }; - - var viewports = new Viewport[1] - { - new Viewport - { - X = 0, - Y = 0, - W = windowWidth, - H = windowHeight, - MinDepth = 0, - MaxDepth = 1 - } - }; - - var scissors = new Rect[1] - { - new Rect - { - X = 0, - Y = 0, - W = (int) windowWidth, - H = (int) windowHeight - } - }; - - ViewportState viewportState = new ViewportState - { - Viewports = viewports, - Scissors = scissors - }; - - var graphicsPipelineCreateInfo = new GraphicsPipelineCreateInfo - { - ColorBlendState = colorBlendState, - DepthStencilState = depthStencilState, - VertexShaderState = vertexShaderState, - FragmentShaderState = fragmentShaderState, - MultisampleState = multisampleState, - PipelineLayoutInfo = pipelineLayoutInfo, - RasterizerState = rasterizerState, - PrimitiveType = PrimitiveType.TriangleList, - VertexInputState = vertexInputState, - ViewportState = viewportState, - RenderPass = mainRenderPass - }; - mainGraphicsPipeline = new GraphicsPipeline( GraphicsDevice, - graphicsPipelineCreateInfo + new GraphicsPipelineCreateInfo + { + AttachmentInfo = new GraphicsPipelineAttachmentInfo( + new ColorAttachmentDescription( + GraphicsDevice.GetSwapchainFormat(Window), + ColorAttachmentBlendState.None + ) + ), + DepthStencilState = DepthStencilState.Disable, + VertexShaderInfo = GraphicsShaderInfo.Create(passthroughVertexShaderModule, "main", 0), + VertexInputState = new VertexInputState( + VertexBinding.Create(), + VertexAttribute.Create("Position", 0), + VertexAttribute.Create("Texture", 1) + ), + PrimitiveType = PrimitiveType.TriangleList, + FragmentShaderInfo = GraphicsShaderInfo.Create(raymarchFragmentShaderModule, "main", 2), + RasterizerState = RasterizerState.CW_CullBack, + ViewportState = new ViewportState((int)Window.Width, (int)Window.Height), + MultisampleState = MultisampleState.None + } ); - screenShotBufferSize = windowWidth * windowHeight * 4; - screenshotPixels = new byte[screenShotBufferSize]; - screenshotBuffer = new Buffer(GraphicsDevice, 0, screenShotBufferSize); - screenshotThread = new Thread(new ThreadStart(SaveScreenshot)); + screenshotBufferSize = windowWidth * windowHeight * 4; + screenshotPixels = new byte[screenshotBufferSize]; + screenshotBuffer = new Buffer(GraphicsDevice, 0, screenshotBufferSize); music = StaticSound.LoadOgg(AudioDevice, Path.Combine("Content", "title_screen.ogg")); musicInstance = music.CreateInstance(); @@ -280,49 +125,69 @@ namespace MoonWorksTest protected override void Draw(System.TimeSpan dt, double alpha) { - var screenshotPressed = Inputs.Keyboard.IsPressed(Keycode.S); - var commandBuffer = GraphicsDevice.AcquireCommandBuffer(); - commandBuffer.BeginRenderPass( - mainRenderPass, - mainFramebuffer, - renderArea, - depthStencilClear, - clearColor.ToVector4() - ); + var swapchainTexture = commandBuffer.AcquireSwapchainTexture(Window); + var takeScreenshot = Inputs.Keyboard.IsPressed(Keycode.S) && !screenshotInProgress && (swapchainTexture != null); - commandBuffer.BindGraphicsPipeline(mainGraphicsPipeline); - - commandBuffer.BindVertexBuffers(0, new BufferBinding(vertexBuffer, 0)); - commandBuffer.BindFragmentSamplers( - new TextureSamplerBinding(woodTexture, sampler), - new TextureSamplerBinding(noiseTexture, sampler) - ); - - var fragmentParamOffset = commandBuffer.PushFragmentShaderUniforms(raymarchUniforms); - commandBuffer.DrawPrimitives(0, 1, 0, fragmentParamOffset); - commandBuffer.EndRenderPass(); - - if (screenshotPressed) + if (swapchainTexture != null) { - commandBuffer.CopyTextureToBuffer(mainColorTargetTextureSlice, screenshotBuffer); + commandBuffer.BeginRenderPass( + new ColorAttachmentInfo(swapchainTexture, clearColor) + ); + + commandBuffer.BindGraphicsPipeline(mainGraphicsPipeline); + + commandBuffer.BindVertexBuffers(vertexBuffer); + commandBuffer.BindFragmentSamplers( + new TextureSamplerBinding(woodTexture, sampler), + new TextureSamplerBinding(noiseTexture, sampler) + ); + + var fragmentParamOffset = commandBuffer.PushFragmentShaderUniforms(raymarchUniforms); + commandBuffer.DrawPrimitives(0, 1, 0, fragmentParamOffset); + commandBuffer.EndRenderPass(); + + if (takeScreenshot) + { + commandBuffer.CopyTextureToBuffer(new TextureSlice(swapchainTexture), screenshotBuffer); + } } - commandBuffer.QueuePresent(mainColorTargetTextureSlice, flip, Filter.Nearest); GraphicsDevice.Submit(commandBuffer); - if (screenshotPressed) + if (takeScreenshot) { - screenshotThread.Start(); + Task.Run(() => SaveScreenshot()); } } private void SaveScreenshot() { + screenshotInProgress = true; + + var name = "MoonWorksTest-" + System.DateTime.Now.ToString("MM-dd-yyyy-hh-mm-ss") + ".png"; + System.Console.WriteLine("Saving screenshot " + name + " ..."); + GraphicsDevice.Wait(); - screenshotBuffer.GetData(screenshotPixels, screenShotBufferSize); - Texture.SavePNG("screenshot.png", 1280, 720, screenshotPixels); + screenshotBuffer.GetData(screenshotPixels, screenshotBufferSize); + + Texture.SavePNG( + name, + 1280, + 720, + GraphicsDevice.GetSwapchainFormat(Window), + screenshotPixels + ); + + System.Console.WriteLine("Screenshot saved!"); + + screenshotInProgress = false; + } + + protected override void OnDestroy() + { + } } } diff --git a/src/hexagon_grid.frag b/src/hexagon_grid.frag new file mode 100644 index 0000000..0244fe2 --- /dev/null +++ b/src/hexagon_grid.frag @@ -0,0 +1,550 @@ +// Created by inigo quilez - iq/2020 +// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + + +// Everybody has to implement an hexagonal grid. This it mine. +// It does raycasting on it, efficiently (just a few muls per step) and robustly +// (works in integers). Each cell is visited only once and in the right order. +// Based on https://www.shadertoy.com/view/WtSBWK Check castRay() in line 92. + +// That, plus the fact the ambient occlusion is analytical means this shader should +// run smoothly even on a crappy phone. It does on mine! + +#version 450 + +layout(set = 1, binding = 0) uniform sampler2D iChannel0; +layout(set = 1, binding = 1) uniform sampler2D iChannel1; + +layout(set = 3, binding = 0) uniform UniformBlock +{ + float time; + vec2 resolution; +} Uniforms; + +//layout(location = 0) in vec2 fragCoord; + +layout(location = 0) out vec4 fragColor; + +// make this bigger if you have a storng PC +#define AA 2 + +// ----------------------------------------- +// mod3 - not as trivial as you first though +// ----------------------------------------- +int mod3( int n ) +{ + return (n<0) ? 2-((2-n)%3) : n%3; + + // Some methods of computing mod3: // PC-WebGL Native-OpenGL Android WebGL + // // -------- ------------- ------- + // 1. return (n<0) ? 2-((2-n)%3) : n%3; // Ok Ok Ok + // 2. return int((uint(n)+0x80000001U)%3u); // Ok Ok Broken + // 3. n %= 3; return (n<0)?n+3:n; // Ok Broken Ok + // 4. n %= 3; n+=((n>>31)&3); return n; // Ok Broken Ok + // 5. return ((n%3)+3)%3; // Ok Broken Ok + // 6. return int[](1,2,0,1,2)[n%3+2]; // Ok Broken Ok +} + +// -------------------------------------- +// hash by Hugo Elias) +// -------------------------------------- +int hash( int n ) { n=(n<<13)^n; return n*(n*n*15731+789221)+1376312589; } + + +// -------------------------------------- +// basic hexagon grid functions +// -------------------------------------- +ivec2 hexagonID( vec2 p ) +{ + const float k3 = 1.732050807; + vec2 q = vec2( p.x, p.y*k3*0.5 + p.x*0.5 ); + + ivec2 pi = ivec2(floor(q)); + vec2 pf = fract(q); + + int v = mod3(pi.x+pi.y); + + int ca = (v<1)?0:1; + int cb = (v<2)?0:1; + ivec2 ma = (pf.x>pf.y)?ivec2(0,1):ivec2(1,0); + + ivec2 id = pi + ca - cb*ma; + + return ivec2( id.x, id.y - (id.x+id.y)/3 ); +} + +vec2 hexagonCenFromID( in ivec2 id ) +{ + const float k3 = 1.732050807; + return vec2(float(id.x),float(id.y)*k3); +} + +// --------------------------------------------------------------------- +// the height function. yes, i know reading from a video texture is cool +// --------------------------------------------------------------------- +const float kMaxH = 6.0; + +float map( vec2 p, in float time ) +{ + p *= 0.5; + float f = 0.5+0.5*sin(0.53*p.x+0.5*time+1.0*sin(p.y*0.24))* + sin(0.13*p.y+time); + f*= 0.75+0.25*sin(1.7*p.x+1.32*time)*sin(1.3*p.y+time*2.1); + return kMaxH*(0.005+0.995*f); +} + +// -------------------------------------------------- +// raycast. this function is the point of this shader +// -------------------------------------------------- +vec4 castRay( in vec3 ro, in vec3 rd, in float time, + out ivec2 outPrismID, out int outFaceID ) +{ + ivec2 hid = hexagonID(ro.xz); + + vec4 res = vec4( -1.0, 0.0, 0.0, 0.0 ); + + const float k3 = 0.866025; + const vec2 n1 = vec2( 1.0,0.0); + const vec2 n2 = vec2( 0.5,k3); + const vec2 n3 = vec2(-0.5,k3); + + float d1 = 1.0/dot(rd.xz,n1); + float d2 = 1.0/dot(rd.xz,n2); + float d3 = 1.0/dot(rd.xz,n3); + float d4 = 1.0/rd.y; + + float s1 = (d1<0.0)?-1.0:1.0; + float s2 = (d2<0.0)?-1.0:1.0; + float s3 = (d3<0.0)?-1.0:1.0; + float s4 = (d4<0.0)?-1.0:1.0; + + ivec2 i1 = ivec2( 2,0); if(d1<0.0) i1=-i1; + ivec2 i2 = ivec2( 1,1); if(d2<0.0) i2=-i2; + ivec2 i3 = ivec2(-1,1); if(d3<0.0) i3=-i3; + + // traverse hexagon grid (in 2D) + bool found = false; + vec2 t1, t2, t3, t4; + for( int i=0; i<100; i++ ) + { + // fetch height for this hexagon + vec2 ce = hexagonCenFromID( hid ); + float he = 0.5*map(ce, time); + + // compute ray-hexaprism intersection + vec3 oc = ro - vec3(ce.x,he,ce.y); + t1 = (vec2(-s1,s1)-dot(oc.xz,n1))*d1; + t2 = (vec2(-s2,s2)-dot(oc.xz,n2))*d2; + t3 = (vec2(-s3,s3)-dot(oc.xz,n3))*d3; + t4 = (vec2(-s4,s4)*he-oc.y)*d4; + float tN = max(max(t1.x,t2.x),max(t3.x,t4.x)); + float tF = min(min(t1.y,t2.y),min(t3.y,t4.y)); + if( tN0.0 ) + { + found = true; + break; + } + + // move to next hexagon + if( t1.yres.x ) {res=vec4(t2.x,s2*vec3(n2.x,0,n2.y)); outFaceID=(d2<0.0)?-2: 2;} + if( t3.x>res.x ) {res=vec4(t3.x,s3*vec3(n3.x,0,n3.y)); outFaceID=(d3<0.0)?-3: 3;} + if( t4.x>res.x ) {res=vec4(t4.x,s4*vec3( 0.0,1,0)); outFaceID=(d4<0.0)? 4:-4;} + + outPrismID = hid; + } + + return res; +} + +// ------------------------------------------------------------------------- +// same as above, but simpler sinec we don't need the normal and primtive id +// -------------------------------------------------------------------------- +float castShadowRay( in vec3 ro, in vec3 rd, in float time ) +{ + float res = 1.0; + + ivec2 hid = hexagonID(ro.xz); + + const float k3 = 0.866025; + const vec2 n1 = vec2( 1.0,0.0); + const vec2 n2 = vec2( 0.5,k3); + const vec2 n3 = vec2(-0.5,k3); + + float d1 = 1.0/dot(rd.xz,n1); + float d2 = 1.0/dot(rd.xz,n2); + float d3 = 1.0/dot(rd.xz,n3); + float d4 = 1.0/rd.y; + + float s1 = (d1<0.0)?-1.0:1.0; + float s2 = (d2<0.0)?-1.0:1.0; + float s3 = (d3<0.0)?-1.0:1.0; + float s4 = (d4<0.0)?-1.0:1.0; + + ivec2 i1 = ivec2( 2,0); if(d1<0.0) i1=-i1; + ivec2 i2 = ivec2( 1,1); if(d2<0.0) i2=-i2; + ivec2 i3 = ivec2(-1,1); if(d3<0.0) i3=-i3; + + vec2 c1 = (vec2(-s1,s1)-dot(ro.xz,n1))*d1; + vec2 c2 = (vec2(-s2,s2)-dot(ro.xz,n2))*d2; + vec2 c3 = (vec2(-s3,s3)-dot(ro.xz,n3))*d3; + + // traverse regular grid (2D) + for( int i=0; i<8; i++ ) + { + vec2 ce = hexagonCenFromID( hid ); + float he = 0.5*map(ce, time); + + vec2 t1 = c1 + dot(ce,n1)*d1; + vec2 t2 = c2 + dot(ce,n2)*d2; + vec2 t3 = c3 + dot(ce,n3)*d3; + vec2 t4 = (vec2(1.0-s4,1.0+s4)*he-ro.y)*d4; + + float tN = max(max(t1.x,t2.x),max(t3.x,t4.x)); + float tF = min(min(t1.y,t2.y),min(t3.y,t4.y)); + if( tN < tF && tF > 0.0) + { + res = 0.0; + break; + } + + if( t1.y0.0 ) + { + // data at intersection point + vec3 pos = ro + rd*t; + vec3 nor = -tnor.yzw; + vec2 ce = hexagonCenFromID(prismID); + float he = map(ce,time); + int id = prismID.x*131 + prismID.y*57; + + // uvs + vec2 uv = (faceID==4) ? (pos.xz-ce)*0.15 : + vec2(atan(pos.x-ce.x,pos.z-ce.y)/3.14156, + (pos.y-he)/4.0 ); + uv += ce; + + // material color + vec3 mate = vec3(1.0); + id = hash(id); mate *= 0.1+0.9*float((id>>13)&3)/3.0; + id = hash(id); mate = ( ((id>>8)&15)==0 ) ? vec3(0.7,0.0,0.0) : mate; + vec3 tex = vec3(0.15,0.09,0.07)+0.75*pow(texture(iChannel0,uv.yx).xyz,vec3(1.0,0.95,0.9)); + mate *= tex; + + // lighting + float occ = calcOcclusion( pos, nor, time, prismID, faceID ); + + // diffuse + col = mate*pow(vec3(occ),vec3(0.95,1.05,1.1)); + + // specular + float ks = tex.x*2.0; + vec3 ref = reflect(rd,nor); + col *= 0.85; + float fre = clamp(1.0+dot(nor,rd),0.0,1.0); + col += vec3(1.1)*ks* + smoothstep(0.0,0.15,ref.y)* + (0.04 + 0.96*pow(fre,5.0))* + castShadowRay( pos+nor*0.001, ref, time ); + + // fog + col = mix(col,vec3(1.0), 1.0-exp2(-0.00005*t*t) ); + } + + return col; +} + +//----------------------------------------------- +// main = animate + render + color grade +//----------------------------------------------- +void main() +{ + vec2 fragCoord = gl_FragCoord.xy; + + fragCoord.y = Uniforms.resolution.y - gl_FragCoord.y; + + // init random seed + ivec2 q = ivec2(fragCoord); + + // sample pixel and time + vec3 tot = vec3(0.0); + for( int m=0; m1 + float d = 0.5+0.5*sin(fragCoord.x*147.0)*sin(fragCoord.y*131.0); + float time = Uniforms.time - 0.5*(1.0/24.0)*(float(m*AA+n)+d)/float(AA*AA); + #else + float time = Uniforms.time; + #endif + + // camera + float cr = -0.1; + float an = 3.0*time; + vec3 ro = vec3(0.1,13.0,1.0-an); + vec3 ta = vec3(0.0,12.0,0.0-an); + + // build camera matrix + vec3 ww = normalize( ta - ro); + vec3 uu = normalize(cross( ww,vec3(sin(cr),cos(cr),0.0) )); + vec3 vv = normalize(cross(uu,ww)); + // distort + p *= 0.9+0.1*(p.x*p.x*0.4 + p.y*p.y); + // buid ray + vec3 rd = normalize( p.x*uu + p.y*vv + 2.0*ww ); + + // dof + #if AA>1 + vec3 fp = ro + rd*17.0; + vec2 ra = texelFetch(iChannel1,(q+ivec2(13*m,31*n))&1023,0).xy; + ro.xy += 0.3*sqrt(ra.x)*vec2(cos(6.2831*ra.y),sin(6.2831*ra.y)); + rd = normalize( fp - ro ); + #endif + + // render + vec3 col = render( ro, rd, time ); + + // accumulate for AA + tot += col; + } + tot /= float(AA*AA); + + + // hdr->ldr tonemap + tot = tot*1.6/(1.0+tot); + tot = tot*tot*(3.0-2.0*tot); + + // gamma + tot = pow( clamp(tot,0.0,1.0), vec3(0.45) ); + + // color grade + vec2 p = fragCoord/Uniforms.resolution.xy; + tot.xyz += (p.xyy-0.5)*0.1; + + // vignetting + tot *= 0.5 + 0.5*pow( 16.0*p.x*p.y*(1.0-p.x)*(1.0-p.y), 0.1 ); + + // output + fragColor = vec4( tot, 1.0 ); +}