Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

167 Neutral

About B-Real

  • Rank

Personal Information

  • Role
  • Interests

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi, I am looking for a way to calculate UV gradients to use with SampleGrad for deferred texture projection. Since I've already implemented tiled based pointlights, I already store ddx_coarse, ddy_coarse(viewpos.z) in my GBuffer which are used to check for multisampling.. But I've no idea if I can use them to compute gradients for projected textures..
  2. You are sure, that he will do this for every fragment of a Fullscreen Quad?
  3. Hi, is there any way to force a pixelshader (while rendering a FullScreenQuad) to write into a given SubSample of a MSAA rendertarget? By my understanding this actually depends on the coverage of the current primitive, which are in case of a FS Quad just two triangles.. So is there any way to tell the pipeline todo multisampling for all fragments?
  4. I've compiled the texconv and it works perfect! Thanks!
  5. Hi, I am looking for a usefull commandline based texture compression tool with the rights to be able to ship with my application. It should have following caps: Supports all major image format as source files (jpeg, png, tga, bmp) Export as DDS Compression Formats BC1, BC2, BC3, BC4, BC7 I am actually using the nvdxt tool from Nvidia, but it does not support BC4 (which I need for one-channel 8bit textures). Everything else which I found wasn't really useful. Any suggestions? Thx
  6. Yea in the HLSL I posted I forgot the : register(u1).. so I was aware about the indices. In my case the shading of each particle is very complex (lots of lighting) so I was hoping this could be an easy way of reducing the calculation for already covered particles. Finally he also did something equal I think:
  7. 1. Yes of course Debug Layer is on.. No Warnings or Errors. 2. I am using SlimDX so I don't call that method nativly, but it looks like this: Dim UAVs() As UnorderedAccessView = {Overdraw.UAV} Dim RTVs() As RenderTargetView = {Path.HDR_Buffer.RTV} C.OutputMerger.SetTargets(View.DepthStencilView, 1, UAVs, RTVs) About my idea: I thought about to have a "coverage texture" parallel to the RenderTarget to check how much alpha was already drawn to the current fragment in order to discard any further draws if a specific value is reached. In order to simply test if a UAV can be written and read in PS i just tried something like that: RWTexture2D<uint> Overdraw; // only R32_UINT are supported.. float4 main(PixelShaderInput input, float4 coord : SV_POSITION) : SV_TARGET { ... uint2 uv = (uint2) coord.xy; if (Overdraw[uv] > 0) discard; ... Overdraw[uv] = 3; ... } But nothing gets discarded. About "unordered".. yes you are right, but I thought also the execution order for all fragements in PS is also "unordered"
  8. Yes sure you can't use an SRV of the same ressource where you have bound the RTV.. but in my case I have a second texture with an UAV which is bound parallel to the main RTV. Using an UAV it should be possible to read/write a texture within the PS. I am binding the UAV togehter with the current RTV and DSV using ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews and i don't get any error message..
  9. Hey, I just had the idea to use a RWTexture2D within the pixel shader of my particles to try to reduce overdraw/fillrate. I have created a R32_Float texture with UAV and bound it together with the RenderTarget. In my pixel shader I just add a contstant value to pixel of the current fragment while I am checking for a maximum at the beginning. However it does not work. It seams that the texture is not getting written. What I am doing wrong? Or is it not possible to read/write at the same time in PixelShader? Thx, Thomas
  10. B-Real

    Tiled Shading - Cone Culling

    Hey, not sure how to call it but I think its called "Infinite Cone"? Yes there should be still cases where this will fail, like when looking mostly in same direction as the cone, so you wouln't get the roundings on the end but in my case this would'nt be a problem. BTW: like your blog a lot! nice work!
  11. B-Real

    Tiled Shading - Cone Culling

    Yes you are right, a sphere-test does not make sense in that case. You are sure about the 2D approach? Finally any cone I would draw in 3D will appear as a triangle on screen (apart from the cam-in-cone situation).. ? So if I could calculate that Triangle, it should be only a tri<>rect or tri<>circle test
  12. B-Real

    Tiled Shading - Cone Culling

    While I am using Tiled Based Shading I don't have any tile slices because its only 2D.. Sure in case of clustered shading it would make sense to place a sphere in a cell, because the cells are placed in depth too. In my case I only have 2D grid cells where I need to check if a cone will be visible on that tile.. Actually I tried some complex Ray/Cone test where I shot rays from the corners+center of a cell. That works, but because I only check 5 points, there are still cases where the test fails.. and also its not very fast.. I think the solution is easier as it looks.. While my tiles are only 2D also the cone should be also converted in a 2D triangle.. I only need to find a way to test a 2D rectangle/triangle for intersection plus the case when the camera is within the cone..
  13. Hey, I found a very interesting blog post here: https://bartwronski.com/2017/04/13/cull-that-cone/ However, I didn't really got how to use his "TestConeVsSphere" test in 3D (last piece of code on his post). I have the frustumCorners of a 2D Tile cell in ViewSpace and my 3D Cone Origin and Direction, so where to place the "testSphere"? I thought about to also move the Cone into viewspace and put the sphere to the Center of the Cell with the radius of half-cellsize, however what about depth? A sphere does not have inf depth? I am missing anything? Any Ideas? Thx, Thomas
  14. B-Real

    Temporal Antialising

    Yes I found it here: advances.realtimerendering.com/s2016/ >Temporal Antialising in Uncharted 4 Very cool! The only thing I couln't find was how big these offests should be in the Projection Matrix, in the Slides they've shown to replace Proj[2,0] and [2,1] with offsets. EDIT: Just found the answer here: https://bartwronski.com/2014/03/15/temporal-supersampling-and-antialiasing/ @J thanks again for your help. I'll make test next days and see how it works.
  15. B-Real

    Temporal Antialising

    If its really only the projection matrix, it would be awesome! Looking forward to your reply
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!