Posted June 30, 201411 yr Hello. I need to draw my texture on first person view screen in point relative to my 3D-item model when it renders. What i need to do?
June 30, 201411 yr Well... Your rendering your 3D item aren't you? Try using those coordinates that you are using there. We all stuff up sometimes... But I seem to be at the bottom of that pot.
June 30, 201411 yr Author i trying to use coordinates of the player and adding some float to x,y,z. But it draws in wrong position.
June 30, 201411 yr Depending on what you want to do, func_147906_a of net.minecraft.client.renderer.entity.Render (in 1.7.10 anyway) might inspire you. As far as I can see, that renders a string above an entity, if it is close enough to the player. The method is probably not immediately useful to you unless you are specifically trying to draw a string above an entity, but the contents of the method should give you an idea of how Minecraft deals with rendering screen-space overlays of world-space objects.
June 30, 201411 yr Okay... So you are wanting to draw a 2D texture to the screen? Fair enough. Take a look at RenderGameOverlayEvent.PRE If you only want the texture to show while your item is being held, you can make a check to see if the player's current held item is an instance of your special item and then do your drawing. [EDIT] Welcome Elyon We all stuff up sometimes... But I seem to be at the bottom of that pot.
June 30, 201411 yr Take a look at RenderGameOverlayEvent.PRE That seems rather more useful, yes. Forgive me for referencing vanilla when there is a very relevant Forge event; I am just now getting into modding with Forge. [EDIT] Welcome Elyon Thank you!
July 3, 201411 yr Author Take a look at RenderGameOverlayEvent.PRE If you only want the texture to show while your item is being held, you can make a check to see if the player's current held item is an instance of your special item and then do your drawing. i have create a class: public class HookGui { @ForgeSubscribe public void render(RenderGameOverlayEvent.Pre event){ if(event.type == ElementType.CROSSHAIRS){ GL11.glPushMatrix(); //GL11.glTranslatef(0.0F, -50.0F, 0.0F); // for test } } @ForgeSubscribe public void render(RenderGameOverlayEvent.Post event){ if(event.type == ElementType.CROSSHAIRS){ GL11.glPopMatrix(); } } } but how to draw texture?
July 3, 201411 yr That is NOT how OpenGL works... Please go learn Personally, I use the tessellator to draw things in GUI's... So... We all stuff up sometimes... But I seem to be at the bottom of that pot.
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.