-
Posts
1.338 -
Joined
-
Last visited
-
Days Won
22
Everything posted by vladislavbelov
-
Then you swapped titles Because in 0 A.D. we have a window scaled by system (that means it scales UI as well) or via gui.scale, since we don't support Hi-DPI (2K, 4K) yet (have another things in mind x) ). You mean resolution or ratio?
-
Graphics of the Evening
vladislavbelov replied to vladislavbelov's topic in Game Development & Technical Discussion
Actually I'm resting when writing that kind of shaders. This one took about half an hour AFAIK. -
Vector is good, but it's good for flat and simple design. Pretty usual for AAA shooters and actions. Not all elements should be 4K, I'd say only big pictures, like the helmet. There is another way to save memory: 4K masks with lower-res textures. Low-res texture for colors and 4K mask (in 3D it's called detail texture) to make it more sharp on edges or add some tiny details.
-
Graphics of the Evening
vladislavbelov replied to vladislavbelov's topic in Game Development & Technical Discussion
Why do think so? -
Graphics of the Evening
vladislavbelov replied to vladislavbelov's topic in Game Development & Technical Discussion
Another reason to wait for A25 -
Is it going to be scalable? Because it might be hard to move these nicely and tightly packed elements for a different display ratio.
-
Graphics of the Evening
vladislavbelov replied to vladislavbelov's topic in Game Development & Technical Discussion
I have in mind a much more cheaper shader for that -
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.
-
A25 Development Questions
vladislavbelov replied to Yekaterina's topic in Game Development & Technical Discussion
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. -
[POLL] Corpse Removal Option
vladislavbelov replied to Stan`'s topic in Game Development & Technical Discussion
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. -
[POLL] Corpse Removal Option
vladislavbelov replied to Stan`'s topic in Game Development & Technical Discussion
It depends on your camera position. If you're not looking at a battle then pathfinder is more expensive. -
A "psychic" shader mod; development begins...
vladislavbelov replied to DanW58's topic in Applications and Contributions
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. -
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%
-
-
That texture doesn't have mipmaps, because it's generated each frame.
-
You mean refraction/reflection maps?
-
A "psychic" shader mod; development begins...
vladislavbelov replied to DanW58's topic in Applications and Contributions
It'd be good if you'd upload it on the phab. -
A "psychic" shader mod; development begins...
vladislavbelov replied to DanW58's topic in Applications and Contributions
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. -
You can always check your frame by capturing it with RenderDoc or something similiar.
-
Yay! Down with workarounds!
-
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).
-
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.
-
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.
-
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.
-
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.