Jump to content

  • Log In with Google      Sign In   
  • Create Account


WiredCat

Member Since 09 Apr 2011
Online Last Active Today, 05:59 AM

Topics I've Started

Triangle vectors on the circle

08 August 2014 - 08:05 AM

circle.jpg

 

 

 

So anyone knows how to find vectors for these blue lines?


projected lines

21 July 2014 - 01:20 PM

instead of geting three lines as i want (picture on the left - well thrid line is almost not visible)

abug.jpg

 

i get 1 or two or none at all or even three but not placed properly lines.

 

heres the code:



float apitch = VALIDUJ(pitch);             //validuj is a funciton that ranged degrees between 0 and 360, so if angle is -10 it'll be 350



   glPushMatrix();
   glLoadIdentity();
 gluLookAt(0,0,5.75,0,0,100,0,1,0);
   glRotatef(-apitch,1.0f,0.0f,0.0f);



glColor3f(0,1,0);
glLineWidth(3.0f);

glGetDoublev(GL_MODELVIEW_MATRIX, mmatrix);
glGetDoublev(GL_PROJECTION_MATRIX, pmatrix);
glGetIntegerv(GL_VIEWPORT, vmatrix);

int npk = int(apitch);

int pupka = npk-npk%10;
       float angel;

glPush2DDrawing();   //activates ortho mode
for (i=pupka-10; i <= pupka+10; i=i+10) {
//angel = VALIDUJ(float(i));
z = 10.0f*cos(float(i)*imopi);
y = 10.0f*sin(float(i)*imopi);
   glhProjectd(1.750f,y,z,mmatrix,pmatrix,vmatrix,resxyz);   //projects from 3d to 2d, its gluproject function see http://www.opengl.org/wiki/GluProject_and_gluUnProject_code

glBegin(GL_LINES);
glVertex2d(328,resxyz[1]);
glVertex2d(428,resxyz[1]);
glEnd();
}

glPop2DDrawing();    //deactivates ortho mode
glPopMatrix();

glWriteTEXT(12,30,"PITCH: "+FloatToStr(apitch));
glWriteTEXT(12,60,"start: "+FloatToStr(pupka-10));
glWriteTEXT(12,90,"stop: "+FloatToStr(pupka+10));

 return;

the thing is i want to draw 

 

plane.jpg

 

 

 

problem occurs when i pitch up /down my nose i cant see other lines, any sugestions?

as you see i do not rotate eye i just rotate these lines and draw only 'the visible ones'


Cockpit HUD line drawing

20 June 2014 - 10:06 AM

i am trying to draw lines as shown on the left image (these lines where you see 10  and - 10) so far i just made a creepy looking lines as shown on the right:

 

how should i do this so they will fit to actual angles

 

fail.jpg


Strange problem with functions not working properly on different unit in project

16 June 2014 - 04:06 PM

So i have a project with lets say two units, one is main unit second is other unit.

I am trying to make glCopyTexSubImage2D to work, when i use exactly same code in main unit it works but it doesnot work in other unit.

code that causes problem is

(i use it in other unit)

	glEnable(GL_TEXTURE_2D);
  glGenTextures(1, &beforetex);       
glBindTexture(GL_TEXTURE_2D,beforetex);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, 2048, 2048, GL_RGBA, GL_UNSIGNED_BYTE, colorbuffer_pdata);

	glDisable(GL_TEXTURE_2D)

dont even try to tell me that glubuildmipmaps isnt used for ages even glteximage2d does not work so just shut up.

 

 

 

 

when i call this code from main unit glcopytexsubimage2d works, but when this code is called from different unit texture is not updated and i see only white texutre nothing more.

 

i already found that i used two different glCopyTexSubImage2D functions, so i corrected that.

 

 

 

 

here are some addidional details.

other unit contains a Aircraft class which contains Cockpit class which contains HUD class which contains:

   unsigned int *   colorbuffer_pdata;
   unsigned int beforetex;

like i said already or not in other unit i do

colorbuffer_pdata = new unsigned int [2048*2048*4];

then i have to call (in main unit)

glEnable(GL_TEXTURE_2D);
glGenTextures(1, &AUTOS->cockpit->HUD->beforetex);        
glBindTexture(GL_TEXTURE_2D,AUTOS->cockpit->HUD->beforetex);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, 2048, 2048, GL_RGBA, GL_UNSIGNED_BYTE, AUTOS->cockpit->HUD->colorbuffer_pdata);
glDisable(GL_TEXTURE_2D);

then i can use (in other unit)

Mainunit->glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, sw, sh);

and it works...

 

it obvious that something is with these functions so i wanted to find their addresses to compare but debugger says it can't find addreses of these functions (i dont know becasue they are opengl function it cant find it)

 

so (in main unit) i decided to make a function that will initialize texture for other unit.

void __fastcall Mainunit::TEXTURE_CREATE(int sw, int sh, unsigned int  tex,unsigned int * pdata)
{
glEnable(GL_TEXTURE_2D);
glGenTextures(1, &tex);         
glBindTexture(GL_TEXTURE_2D,tex);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, 2048, 2048, GL_RGBA, GL_UNSIGNED_BYTE, pdata);
glDisable(GL_TEXTURE_2D);
}

then in other unit after making this unsigned int array i called

Mainunit->TEXTURE_CREATE(2048,2048,beforetex,colorbuffer_pdata);

but it wont work (i get same result: white texture and no update)

 

 

but before making this function i was using different code (in mainunit)

the difference was that  AUTOS->cockpit->HUD->colorbuffer_pdata this unsigned int * was global declarated in other unit

and when i made

 colorbuffer_pdata = new unsigned int [2048*2048*4]; //in other unit

and tried to initialize texture from mainunit it crashed saying acces violation (glubuildbitmaps hex address) violation 000000 so it was saying that i didint create this array pointer or what? it couldnt find it (so i moved colorbuffer_pdata to HUD class and i could initialize texture w/o problems] 

 

So here now some question come: why such limitation occured (acces violation)? and how do i get addresses for glTexParameteri, glTexEnvi, glBindTexture,glGenTextures, glEnable, gluBuild2DMipmaps , GL_TEXTURE_2D,GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE  etc. so i could compare it to those from main unit.

 

 

OR maybe thers another solution to the problem, 

 

All i need is to initialize texture inside HUD class, but it seems i cant do that.

 

 

 

 

 

 

 

 

 


Drag equation

13 June 2014 - 04:15 AM

First take a look at this (anyway theres 3 drag areas top, front and side areas of a jet)

 

but lets talk about only two top view area and frontal area.

 

 

drag.jpg

 

 

 

how should i calculate drag force since: drag = sin(angleofattack)*drag_force_of_firstarea + cos(angleofattack)*drag_force_of_secondarea  doesn't seem to work as it should.


PARTNERS