数学建模社区-数学中国

标题: OpenGL里画线 [打印本页]

作者: xShandow    时间: 2004-11-19 09:21
标题: OpenGL里画线
<>在OpenGL里画线语句:
3 [* c4 t) [) P  J$ b: a; dglBegin(GL_LINES);
3 \1 k  V! l* @) U   glVertex2f(x,y);2 V; w; b3 Q* O* W+ X9 w+ o
   glVertex2f(a,b);8 N' [$ |# |9 m  \3 r/ Z2 s# I
glEnd();</P>
+ p( I, f$ F# T) v3 O<>注意:目前只讨论OpenGL 2D模式.1 K7 f1 X0 C/ I; D' d! o4 d

' @+ }+ |! y& n# ]! G: B) X" S下面是一个画线实例和效果图
1 C0 ~$ Z$ t* _, y* h. W( X#define GL_PI 3.1415f</P>
6 ]& C) e# B3 e6 N2 c' B: V3 {9 f<>void Draw()& u! [0 J3 p& |7 h
{
" p( T, Z5 d" R) Y GLfloat x,y,angle;</P>
4 e. X- W0 I8 X% D& u3 x3 l<> glPushMatrix();</P>
' i- O& l  ]2 k<> glTranslatef(300,200,0);) K7 N& v) j3 J! Q& Z
glColor3f(0.6f,0.6f,0.1f);  ~1 l4 J( v9 u# a$ M* \# T+ x
glBegin(GL_LINES);
; J- d# C) U& n0 O  for(angle=0.0f;angle&lt;3*GL_PI;angle+=0.5f)) Z9 N: g# ]* H
  {3 m8 J- N2 g& p( `4 O  Y
   x=150.0f*sin(angle);
6 _0 @" y: S' ?7 w   y=150.0f*cos(angle);</P>5 J2 A' p6 O5 o: S* q
<>   glVertex2f(x,y);</P>
( u% l6 [2 C8 p5 L8 l( V7 J6 j& Z1 G& M  T<>   x=150.0f*sin(angle+3.1415f);
# Y! ~/ }& _4 @   y=150.0f*cos(angle+3.1415f);
6 A4 ]) @/ s, i/ I% V   glVertex2f(x,y);
& {8 [" u; v, p  u2 _  }8 H6 i/ x! W  h6 y1 V: x9 f
  6 d! z3 N# A3 `2 h) j
glEnd();</P>
$ Q3 V* ]+ E# J& z8 y# n& Y! ?3 C<> glPopMatrix();. C+ G- r7 ?) J  D5 B- K/ ]0 U! L
}& R$ |; s2 P8 E- ^- [
</P>[attach]711[/attach]

OpenGL里画线.jpg (45.84 KB, 下载次数: 198)

OpenGL里画线

OpenGL里画线






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5