Jelly298 Posted November 2, 2022 Posted November 2, 2022 I want to check if a block can be seen by a player given its FOV (It is client-sided). Is there any function or algorithm that could help me do so? Quote
warjort Posted November 2, 2022 Posted November 2, 2022 I don't think it works that way. But I am no expert on this. The FOV can be altered dynamically during rendering, including Forge's ComputeFovModifierEvent. e.g. the zoom in when pulling a bow before firing I don't think it remembers this change after it is done with rendering. And the way blocks are drawn is done by sending their model data to opengl which computes which "pixels" should have which color by drawing the textures and doing a depth test versus what has previously been drawn there. This rendering is done in world (block) co-ordinates and only when it is complete is the buffer mapped into screen co-ordinates. See RenderTarget._blitToScreen() The culling of which blocks/entities should be drawn is done at the chunk level rather than individual blocks. Which means it is drawing some blocks that are offscreen. See LevelRenderer.applyFrustrum() You will likely get a better answer to your question if you contacted the projects that work on graphics optimisations. Quote Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.