Jump to content

vladislavbelov

WFG Programming Team
  • Posts

    1.325
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by vladislavbelov

  1. Is it going to be scalable? Because it might be hard to move these nicely and tightly packed elements for a different display ratio.
  2. Another shader that shouldn't be used in the game (completely GLSL, no C++). Font is stored in the shader itself encoded by ivec4, colors are chosen as average and a little deviation from it excluding average neighborhood.
  3. What kind of tasks do you prefer? Usually it's useful to get some basic knowledge how the engine works first. I always can create a bunch of tasks to improve small things that can make a person doing these tasks more familiar with the engine. But these tasks don't have a lot of creativity freedom, they're more educational and relaxing (sometimes) than some hard-work research.
  4. I have the famous habit: I never look at explosions and battles x) If answering seriously, for me to make renderer slow locally I need to put all units together on screen. But it rarely happens, more than 50% of all units are spreaded all over a map.
  5. It depends on your camera position. If you're not looking at a battle then pathfinder is more expensive.
  6. Binding is a very interesting area to measure and discuss. Approximated numbers of 7 years old talk: For pretty old card you can switch up to 5K shaders per frame. And the interesting part is that sometimes the shader switching might be faster than using a single shader, especially on 2K/4K displays, because of branching/limited texture cache.
  7. Preliminary results for our statistics: 800x600: 0.31% 1024x768: 0.88% 1280x720: 2.28% 1280x800: 2.11% 1280x1024: 1.80% 1360x768: 1.49% 1366x768: 21.68% 1440x900: 4.52% 1536x864: 4.43% 1600x900: 5.05% 1680x1050: 2.68% 1792x1120: 0.39% 1920x1080: 37.87% 1920x1200: 1.67% 2048x1152: 0.44% 2560x1080: 0.79% 2560x1440: 5.70% 3440x1440: 0.92% 3840x2160: 1.40% Other: 2.15%
  8. That texture doesn't have mipmaps, because it's generated each frame.
  9. Actually Shlick approximation de facto is a standard in the graphics and games industry. And even more it's imperfect for some cases on modern hardware. People try to find more accurate approximations: https://belcour.github.io/blog/research/publication/2020/08/26/brdf-fresnel-decompo.html It's true life. But I'm working on water refactoring. And I've already removed a bunch of in-place hacks.
  10. You can always check your frame by capturing it with RenderDoc or something similiar.
  11. The same as skies, they both are reflection, refraction and absorption. I don't see much difference in terms of math and energy conservation, ambient color or cubemap is another hack to make things look more realistic. And on modern hardware you can find pretty cheap techniques to get the second reflection (beside ray-tracing).
  12. It happens in our code, and usually it's just a workaround to make it look better. You haven't seen the water one before I've done a cleanup for it.
  13. I suppose it contradicts to your patch for the current game. Because you decrease ambient from skies for vertical surfaces. But AO is used for any kind of indirect light, including sun direct light reflected from some surfaces, which is more powerful than skies ambient.
  14. Per draw call constant. But some constant might be per frame. It's not interpolated by vertex shader, because vertex shader knows nothing about fragments. It will be interpolated on or or after rasterization step. Usually it's called per-pixel in both modes. Only some driver implementations allow you to force per-sample executing. Mostly, but not in that case. vnormal isn't normalized, so it'd be near but not always cosine.
  15. I suppose it's not because they don't want to, but because they can't. Since checking BRDF for every combination of pixels of different textures is a very complex task. I believe there's no fast solution in the whole production world of renderers. So by your measurements there is no production software with real PBR. I suppose you mean 1.0 by white. Since it's not a color, a ratio of reflected/scattered and absorbed. You're just looking on them at very high angle I believe it's not hard to meet a 90%-95% mirror, especially with a metal back I think it's important to note for those who is unfamiliar with PBR, that the reflection is colored, because each collision of light with a surface absorbs a part of the light energy and absorbs differently for different wavelengths.
  16. On old hardware - yes, on modern we might render it into HDR render target and apply tone mapper afterwards, or just apply tone mapper directly. The problem appears not only for white but for any color that has a component near to 1.0 (255), like red, green or blue.
  17. Interesting theme In theory there are no colors at all, everything is a subjective perception. So there is no computer color/finite value that might represent any of real color. I suppose he means that your formula gets an overflow as you get a color value more than 1.0 (255) for some components.
  18. Any video? Might be a hotkey issue, Idk.
  19. Haha, yes I've just removed ability to use GL1 with fixed function pipeline where you can't write shaders at all. And we have about 100 players which support at most GL1.5. Also people (especially from open-source) sometimes are asking do we support low-end hardware. That's cool! Though I don't know it can be achieved in our case on old hardware with all our limitations . You might add your code under conditions as well
×
×
  • Create New...