Jump to content

Confused about GL11.Rotatef ...


Frag

Recommended Posts

Hi guys,

 

I am rendering a simple fish ... no issue so far. But if I want him to jump in the air, over the water, I want to rotate it so it will jump face up (head pointing to the sky). I added this to the code and I see that the fish rotate, but it will never rotate the same way twice in a row. Sometime they will jump head first ...sometime they will jump tail first ...or simply side first. I am really confused. Someone could help me out?

 

protected void func_82430_a(EntitySalmon par1, float par2, float par3, float par4)

{

if (par1.worldObj.isAirBlock((int)par1.posX, (int)par1.posY, (int)par1.posZ))

{

    GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);

}

        GL11.glTranslatef(0.0F, (float)(-par1.GetRenderValueFromSize()), 0.0F);

        super.rotateCorpse((EntityLivingBase)par1, par2, par3, par6);

 

}

 

I tried other options like:

 

GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);

 

GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);

 

GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);

 

Nothing really works ...the fishes rotate, but never heads up.

 

Simply, I just want my fish to be rendered head pointing to the sky when its location is an air block. Someone can explain?

 

Thanks in advance...

 

Link to comment
Share on other sites

That's because the GL11 axis are not always same in the method.

Just do it with your model animation...

 

Could you elaborate ... what do you mean by the GL11 are not always the same? Any examples?

I mean, that it would be "rotated" already.

Since GL11 rotation applies for current axis, the result is dependent on the axis.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

That's because the GL11 axis are not always same in the method.

Just do it with your model animation...

 

Could you elaborate ... what do you mean by the GL11 are not always the same? Any examples?

I mean, that it would be "rotated" already.

Since GL11 rotation applies for current axis, the result is dependent on the axis.

 

Ok so what you are saying is that if ...lets say a fish jump twice  ... the first time it will rotate to 90 degrees ...and the second time it will rotate 90 more degrees? That would explain the random feel rotation I experience. It does make sense.

 

Can I use a call to reset the rotation? As you noticed I have a IF that detect if the fish is out of the water. So in the else part, I could reset the rotation.

 

Any call I could use? OpenGL is really new to me.

Link to comment
Share on other sites

No, I does not mean that the rotation angle is variable.

the rotation angle is constant 90 degrees,

[bold]But the "Rotation axis" would be changed.[/bold]

and it is impossible to reset the rotation...

 

Your fish model would have setRotationAngles or something.

set the rotation angle your fish model there..

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

The rotation degrees are also in radians, not degrees.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Whoops, I thought I had one in my code and I checked where I was getting my angle values from (and having radians) but didn't check to make sure I was actually using GL11 for the rotation.  You're right, it uses degrees.  The Techne model, however, does use radians.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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.

Announcements



×
×
  • Create New...

Important Information

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