Jump to content

Particles and Optifine


rich1051414

Recommended Posts

I know this problem has to do with optifine, but I am posting here so I could possible get an idea on how to achieve a little problem I am having using a different method in forge.

 

Im my mod, damage indicators mod, I have particles that render in world but always on top. Currently, the way I achieve this is by setting the depth test to always and rendering on fx layer 3, which works excellent with just Forge, however, optifine changes the render order, and entities always seem to render after particles, causing my always on top renderings to get rendered over by entities(but not blocks). If a block is in front of the particle, it renders, and in just forge, if an entity is on top, it renders, but with optifine installed, if the entity is in front, it blocks the particle.

 

I have tried Always glDisable(GL_DEPTH_TEST) and glDepthMask(false) and none of these work on rendering the particle in front. Of course, I could just ensure the particle spawns closer to the player, but if there are other entities in front of that, it blocks, and looks very odd, as only entities cause the particle to get blocked.

 

I have thought about moving the rendering to my tick handler, and having the standard rendering do no rendering, however, I haven't thought of an elegant solution to apply the offsets for the rendering.

 

If anyone has an idea, let me know :)

 

Would using entities instead of particles be an alternative? Keep in mind, they would need to be client side only, as this ensures servers can allow players with and without the mod to be on the server at the same time.

Link to comment
Share on other sites

I know this problem has to do with optifine, but I am posting here so I could possible get an idea on how to achieve a little problem I am having using a different method in forge.

 

Im my mod, damage indicators mod, I have particles that render in world but always on top. Currently, the way I achieve this is by setting the depth test to always and rendering on fx layer 3, which works excellent with just Forge, however, optifine changes the render order, and entities always seem to render after particles, causing my always on top renderings to get rendered over by entities(but not blocks). If a block is in front of the particle, it renders, and in just forge, if an entity is on top, it renders, but with optifine installed, if the entity is in front, it blocks the particle.

 

I have tried Always glDisable(GL_DEPTH_TEST) and glDepthMask(false) and none of these work on rendering the particle in front. Of course, I could just ensure the particle spawns closer to the player, but if there are other entities in front of that, it blocks, and looks very odd, as only entities cause the particle to get blocked.

 

I have thought about moving the rendering to my tick handler, and having the standard rendering do no rendering, however, I haven't thought of an elegant solution to apply the offsets for the rendering.

 

If anyone has an idea, let me know :)

 

Would using entities instead of particles be an alternative? Keep in mind, they would need to be client side only, as this ensures servers can allow players with and without the mod to be on the server at the same time.

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.