如何在OpenGL中用Forth画一条线?

时间:2018-12-25 11:01:01

标签: opengl line forth

在Gforth OpenGL教程中,我找到了一个代码片段,用于在Forth的图形屏幕上绘制三角形:

: DrawGLScene
  GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT OR gl-clear
  gl-load-identity
  -1.5e 0e -6e gl-translate-f
  GL_TRIANGLES gl-begin
      0e 2e 0e gl-vertex-3f
    -1e -1e 0e gl-vertex-3f
     1e -1e 0e gl-vertex-3f
  gl-end
  sdl-gl-swap-buffers
  fps-frames 1+ to fps-frames
  Display-FPS
  TRUE
;

例如,如果将其中一个坐标从“ 2e”更改为“ 1e”,则生成的对象的形状将变得不同。但是,如何绘制一条直线而不是三角形? OpenGL和Gforth也可以吗?

1 个答案:

答案 0 :(得分:2)

您显示的代码段使用的是旧的固定功能管道。我知道Forth,但我不知道OpenGL绑定,因此暂时让我们坚持使用FFP。尝试一下,它会画出两条线:

: DrawGLScene
  GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT OR gl-clear
  gl-load-identity
  -1.5e 0e -6e gl-translate-f
  GL_LINES gl-begin
      0e 2e 0e gl-vertex-3f
    -1e -1e 0e gl-vertex-3f
      1e 2e 0e gl-vertex-3f
     0e -1e 0e gl-vertex-3f
  gl-end
  sdl-gl-swap-buffers
  fps-frames 1+ to fps-frames
  Display-FPS
  TRUE
;