Jump to content


WFG Programming Team
  • Content count

  • Joined

  • Last visited

  • Days Won


vladislavbelov last won the day on July 7

vladislavbelov had the most liked content!

Community Reputation

308 Excellent

About vladislavbelov

  • Rank
  • Birthday September 22

Previous Fields

  • First Name
  • Last Name

Profile Information

  • Gender
  • Location

Recent Profile Visitors

1,486 profile views
  1. vladislavbelov

    Additional lighting in engine

    As I said before: after refactoring
  2. vladislavbelov

    Additional lighting in engine

    The terrain isn't transparent and blending doesn't make sense after the blending is done (especially on long distances), so there is no problem with it. Yes, it requires a work, but it's simple. True, as the tessellation one But it's the another level. It can't be faster than simple quads with a texture. But it can be nicer.
  3. vladislavbelov

    Additional lighting in engine

    Currently I'm trying to add features that popular in modern engines and liked by players to find different implementation bottlenecks in our code. Yes, I mentioned, that it doesn't support many lights per model. Usually video card can support from 8 to 128 lights per model. It uses simple uniform structs (even not UBO). // 8 floats per struct. struct PointLight { vec3 position; float radius; // vec2 - compressed 4 components, instead of unsupported "half". vec2 color; vec2 coef; // Cubic curve coef. }; So we can calculate how many lights we can use from GL_MAX_FRAGMENT_UNIFORM_COMPONENTS. There're 2 import notes: 1) we can use forward and deferred rendering simultaneously (i.e. for different distance), 2) as you noticed we don't have a lot of semitransparent objects; trees, bushes have transparent only for soft edges, so on enough distances we can render them without alpha blending and they're not transparent objects anymore (we don't need to be honest for rendering always; if it looks the same/very similar but cheaper, then we'd can use the cheaper one). If we assume that we don't have a sun at rain, then we'd easily add shadows to the lightnings Nope (at least not yet). It'd be confirmed when it'll be in the our main repository It uses 2D rain texture (drawn by me in Ps for 5 mins ) on many long crosses with double side rendering (because many particles would be slow). They're not moving when the camera is moving. So it seems a correct rain. Current implementation doesn't use shaders yet, but with shaders it can be a little bit nicer.
  4. vladislavbelov

    Additional lighting in engine

    Another using of lightings:
  5. vladislavbelov

    Additional lighting in engine

    Nope, it doesn't need it. The deffered rendering can be easily used with transparent objects too.
  6. vladislavbelov

    Additional lighting in engine

    Of course as option I'm mostly interested, is it useful without shadows for artists/modders? It'd be as option, so you'd can disable it. It's a little bit different technique, the glow effect can exist without lightings. Yep, but it requires the refactoring as I mentioned. So you could test my phab patches to accelerate this implementation You may notice it on clothes on sticks near the bottom house of 2.
  7. I spent last 2 of my evening on the implementing of the addition light system in the pyrogenesis to find implementing bottlenecks for new objects. And I found some places, but that's not the topic. How additional lighting system looks: Fully dynamic lighting. And all light sources can be attached as props (i.e. to bones): "May the Light be with you..." But what restrictions do we have? We have 2 main: The lights can't throw shadows, because performance (we can implement it, but only few powerful videocards can handle it). There can't be many light sources in one place (at least for low videocards and since we don't support deferred rendering). Because shaders have own restrictions, particularly uniform sizes. But probably it's not the real problem. So I have a question: do we need additional light sources in near releases? Would it be real useful? P.S. I found strange normal values for some model, it should be investigated (probably the shader problem).
  8. You wanna say @wraitii. 0 A.D. doesn't have the crowd simulation, only a path finder for short and long paths. You can find it in source/simulation2/, files that contains the "path" word in their names. There are also UnitAI and UnitMotion components.
  9. vladislavbelov

    Terra Magna Mod

    .zip/.pyromod dropping should work for the Alpha 23. At least I tested it on Windows 10 and it works.
  10. "camera moved" != "nothings was changed". Obviously. And AABB with AABB usually faster than Sphere with Sphere. About frustum planes the math is pretty simple for AABB, you need only 2 dots. Something bad is happening, if you need a complicated math for it. Feel free to add new values to the profiler: https://trac.wildfiregames.com/wiki/EngineProfiling.
  11. You don't need 60fps if nothing was changed. And I don't suggest to fully separate thread, I only suggest a simple worker. It requires much less work from the current state. You need only 2 synchronizations in my variant. Because after the submitting step you have a set of buckets independent of the sim state. Why do you call AABB expensive? It's usually faster than sphere, but usual BB is slower, but not significantly (btw, it'd be good to compare). You have profiler.txt for that.
  12. Renderer shouldn't do this. He should wait, if he has been done his work already. No, it wouldn't. We only need a simple semaphore. Because we need to have a 1:1 running scale. I'm not sure that only visibility checking improvements will save a lot of performance, but the testing will show. Also the hierarchal system should be pretty dynamic without much asymptotics losts.
  13. But it shouldn't be interdependent. Because we need to split it for 2 steps: submitting and drawing. Without threading it would be less powerful, but still useful. Because we don't need to wait until post-processing and buffer swapping will be finished.
  14. vladislavbelov

    Graphics Improvements

    As I said, add weather or decrease the current level of the penumbra effect.
  15. vladislavbelov

    Graphics Improvements

    It loses details. Example, even on the bigger distance you may see more details: