joeblack

Members
  • Content count

    52
  • Joined

  • Last visited

Community Reputation

303 Neutral

About joeblack

  • Rank
    Member

Personal Information

  • Interests
    Programming
  1. DX11 Dynamic ibl

    Hi Hodgman , after I implemented it, it looks quite good actually, you were right. Im using NdL/PI for diffuse and GGX from internet for specular. For 128 samples its also quite fast. I needed to rewrite my camera culling code a bit to make it usable. Thanks again.
  2. DX11 Dynamic ibl

    Hi guys, i implemented ibl in my engine. Currently i precompute cubemaps offline and use them in game. This works good, but its only static. I would like to implement dynamic cubemap creation and convolution. I more or less know how to do it. But : My current workflow is : Render hdr cubemap in 3dsmax with mental ray (white material for everything). Convolute with ibl baker. Use it in game. Capture probe ingame (only once). Convolute with ibl baker and use it without changing. This is used for every "ambient" light in game. On top of that I'm rendering "normal" light (with ambient and specular). I would like to capture and convolute cubemaps dynamically in game. So capture cubemap in 3ds max once. Use It in game and generate cube maps there at some time. This sounds easy. But as I said I first render ambient lights and on top of that normal lights. Then I create cubemap from that and use it in next frame for ambient light and add normal lights... Creating infinite feedback. Is there any way around it ? I believe games are using reatime generated ibl cubemaps. Or it's done completely differently ?
  3. Hi, can you show how are you computing luminance ? and also your bloom pass ?   Log and exp should be used during generation of luminance, so instead of : float lastLum = exp(lum_old.Sample(ss, input.Tex)); float currentLum = lum.Sample(ss, input.Tex);  // Adapt the luminance using Pattanaik's technique  float adaptedLum = lastLum + (currentLum - lastLum) * (1 - exp(-TimeDelta * Tau));     return log(adaptedLum); you should have : float lastLum = lum_old.Sample(ss, input.Tex); float currentLum = exp(lum.Sample(ss, input.Tex)); // Adapt the luminance using Pattanaik's technique  float adaptedLum = lastLum + (currentLum - lastLum) * (1 - exp(-TimeDelta * Tau));  return adaptedLum; and use Log during generation of luminance.   Or first you can try you luminance without any log/exp and see if it works.
  4. Hi, in this simple case it can look like same, but whole point of linear vs gamma is when it came to calculations, e.g. when values are multiplied/added together. Normally you would think that 1 + 1 = 2 and 1*1 = 1, e.g when you double light intensity or blend two lights together, result will have doubled brightness, but gamma is not linear so 1 +1 can be 3.
  5.   not true, discard and clip is in HLSL (they do little different things)   discard :   http://msdn.microsoft.com/en-us/library/windows/desktop/bb943995%28v=vs.85%29.aspx   clip: http://msdn.microsoft.com/en-us/library/windows/desktop/bb204826%28v=vs.85%29.aspx
  6. Yes, i ment bits, i allways mess it up
  7. Hi, i would like to use stencil buffer for two different things, so that first 4 bytes will encode one value and second 4 bytes different value.   I can do this by   StencilWriteMask   and StencilReadMask , but my issue is that one value will not change during frame, but second will change multiple times, so i need to clear this value multiple times per frame.   When i call ClearDepthStencilView with StencilWriteMask will it only affect chosen values ? Or i need to perform "clean" manually with full screen quad ?
  8. thanks, I thought about that but wasn't sure
  9. Hi, currently i would like to introduce particles into my deferred renderer, what i do:   - accumulate particles into off screen low res buffer,   - after drawing all objects into deferred buffer, "inject" accumulated particles into scene (output depth from particles into main buffer), also use stipples during this process.   - resolve lights on this deferred buffer   - resolve final transparency for particles.   Yaay, now i have fully lighted, shadow receiving (not casting) particles with low effort but :   Because i'm using point sprites, normals always point in one direction, so basically when light comes from behind of particles, they aren't lighted at all. When light is in front of particles, everything is ok.   I would like to blur depth values in accumulated particles depth buffer and compute some surface normals to adjust particle normal somehow, so particles will became volumes instead of sprites.   But for this i need to blur particle depth in linear space. I can do that with no problem.   But when i'm "injecting" particles, i need projection depth, so particles will be correctly occluded by objects and also lightning will work correctly.   Is there any way to convert from linear depth into projection depth with using camera parameters (near and far plane)?    
  10. OpenGL AMD's Mantle API

    do you remember glide ? it was also faster and provides direct access (at the time). Also will be this mantle running on windows ? (if so, microsoft will still sell windows). I also read articles about opengl killing directX... NVIDIA has PHYSX and CUDA, so AMD created MANTLE. According to steam ATI has 33 % and NVIDIA 52 %. So currently there is more players with NVIDIA to care about then ATI.
  11. APEX Destruction on ATI hardware

    Hi, yes APEX will run on CPU (except APEX Turbulence). You can use GPU to accelerate APEX Particles and APEX cloth (but it will also run on CPU as well)
  12.   Hi, in my case pix also reported strange things. It looks to me, when you forget to release one thing, PIX will report also lot of other "unreleases" that aren't relevant. E.g. : once i forget to release one texture, but PIX showed me around 10 unreleased things, including index and vertex buffers. After releasing of texture, all other leaks dissapeared. So i woudn't believe PIX in everything it's complaining.
  13. MSVCR110.dll is missing on executable

    Hi, which version of redistibutable did your brother downloaded ? He needs to have version of your app not his operating system ,e.g. on 64bit win he needs 32bit redist, if your app is 32bit. Btw. did you installed any game ? Almost every game needs redist to work.
  14. MSVCR110.dll is missing on executable

    Hi which version of redistibutable did your brother downloaded ? He needs to have version of your app not his operating system ,e.g. on 64bit win he needs 32bit redist, if your app is 32bit. Btw. did you installed any game ? Almost every game needs redist to work.
  15. Render depth to texture

    maybe you values are very close to near plane, try to divide by smaller number (20), when they are still black try 2. What are positions of your cubes ? and dimensions ?