Jump to content

TheEqualizer

Member
  • Posts

    38
  • Joined

  • Last visited

  • Feedback

    0%

2 Followers

About TheEqualizer

Recent Profile Visitors

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

TheEqualizer's Achievements

Contributor

Contributor (5/16)

  • Conversation Starter
  • Collaborator
  • One Month Later
  • Week One Done
  • Dedicated

Recent Badges

42

Reputation

  1. You have a bug somewhere. The info you provided is not enough to pinpoint where the bug may be. The large allocation is a big red flag, what may be happening is that a std:vector (or some other container) is growing until you run out of memory (if this is the case, you should get a std::bad_alloc exception). The debugger can show you the code that raised the exception. Since the client becomes unresponsive, maybe you are running into an infinite loop situation (and running out of stack space) Use the debugger well and you should be able to find the bug.
  2. Implemented screen space ambient occlusion. In the images below, the effect was exaggerated a little to make it more visible.
  3. I don't know what you changed but you better revert the changes because you made the problem worse. std::__throw_bad_array_new_length() is an internal GCC/libstdc++ function. So, it's possible the GCC compiler is attempting to use this function, but the linker can't find it in the libstdc++ library you are using. So this tells me something is wrong with your compiler installation/configuration. You might want to install a different gcc package or use static linking.
  4. These appear to be linker errors. Make sure the linker is properly configured and that you are not using incompatible libraries.
  5. Yes. The renderer is responsible for everything, anything that doesn't go through the renderer is not rendered. Effects/Particles are pre-processed before submission so they can be rendered as efficiently as possible. I have tested having many effects at once and the impact was minimal. One of the problems with the way Ymir renders things is that it sends very little work to the GPU (per draw call). GPUs work better when a large amount of work is sent because it allows the GPU/driver to better hide the latencies involved.
  6. Multiple light shadows are supported, but I don't expect this to be used.
  7. Implemented soft shadows using variance shadow mapping. Shadows add quite a bit of cost when many dynamic objects are visible, so this is a good candidate for multithreading. There is decent self-shadowing as well.
  8. I decided to test the performance of the renderer when all the light slots are used. Right now the renderer supports a maximum of 17 lights (1 directional and 16 spot/point lights). In the test scene below, all 17 lights are active. Performance was not affected. So, I will increase the maximum number of lights to 25 (1 directional, 24 spot/point lights). With some clever light management, it's possible to support much more than this, so I might revisit this later.
  9. If you are using visual studio, then right-click the project these files belong to (probably "userinterface") and then select [Add > Existing Item...] or highlight the project and press [Shift + Alt + A]. Then select the files and visual studio will add them to the project.
  10. Those are linker errors. I don't understand the language, but I believe the compiler is not finding the definitions for those 3 symbols. This likely means you have not added the (.cpp) files that contain the definitions to your solution/project. Make sure your solution was setup properly.
  11. Did these problems exist before you fixed the black screen problem? What happens if you remove the "fix"? How did you fix the black screen problem (are you sure you didn't change something you weren't supposed to)? In the first video, it looks like the camera position is changing when you preview. I assume this "preview system" needs to change the camera to create/render the preview, then the camera has to be restored to how it was before the preview so the game can be rendered normally. Are you sure this process is happening? In the second video either the texture for that effect was not loaded or the render states were not setup properly for the effect (you should start by checking the blend states). EDIT: OK, after checking the first video some more, I realized that the camera isn't changing, the water is turning white, which means, that your render states are not setup properly. Somehow, when you activate the preview, you are causing the render states for water (and possibly effects as well) to become invalid/wrong. Again check your render states.
  12. This could be a lost device situation but to be sure you have to check the return value of Direct3D API calls (as I said, start with Present()). If you confirm that it is a lost device situation, then maybe your render target system is not releasing it's render targets when the device is lost. When a device is lost, all D3DPOOL_DEFAULT resources must be released before the device can be reset.
  13. There is not much to go on here. A black screen means your render functions are either silently failing or are not being called, you need to figure out what the problem is first. Running in debug may help. Log return values from Direct3D API calls, and if any of them is failing troubleshoot it. Start by checking the return value of the Present() function.
  14. What do you mean by "fog level"? Distance? Density? If you are using the fixed function pipeline, you can experiment with the fog related render states (D3DRS_FOGCOLOR, D3DRS_FOGTABLEMODE, etc).
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.