Как нарисовать линию в Forth с OpenGL? - PullRequest
0 голосов
/ 25 декабря 2018

В учебном пособии по 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 голосов
/ 25 декабря 2018

Фрагмент кода, который вы показываете, использует старый конвейер с фиксированными функциями.Я знаю 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
;
...