0

我的绘图代码有问题..我必须显示一些箭头,但是当它们离轴的原点太远时,它们会消失..

在这里我发布我的相关代码:

static void drawArrow( double trans[3][4] , double **d, int num, double *altitude)
{

int i;
double c_min=0.3;





double    gl_para[16];
GLfloat   mat_ambient[]     = {0.0, 0.0, 1.0, 1.0};
GLfloat   mat_flash[]       = {0.0, 0.0, 1.0, 1.0};
GLfloat   mat_flash_shiny[] = {50.0};
GLfloat   light_position[]  = {100.0,-200.0,200.0,0.0};
GLfloat   ambi[]            = {0.1, 0.1, 0.1, 0.1};
GLfloat   lightZeroColor[]  = {0.9, 0.9, 0.9, 0.1};

...

argConvGlpara(trans, gl_para);
glMatrixMode(GL_PROJECTION);
glLoadIdentity
glLoadMatrixd( gl_para );

glRotated(180,1,0,0);
glutWireCone(40,40*arrow_factor,10,100);
//arrowfactor can change by keyboard input
...


glDisable( GL_LIGHTING );

glDisable( GL_DEPTH_TEST );

}

我想我必须使用 GL_PROJECTION 矩阵模式,但我相信如果有更好的方法让它在不改变它的情况下工作..

编辑:删除了不必要的代码部分

4

0 回答 0