mercej4: Maybe code below will be more definitive on the subject,
The input file contains real numbers, x, y, z and a control number, I format.
All that is output in the display 'window' is blank, the curve is not displayed, maybe 'off' of the display area, not sure. This program did work at one time but tried recently and no curve output? Also, not sure windows display parameters, i= --- may not be correct but not sure as I do not have a reference document or? on the parameters that SilverFrost Fortran uses for OpenGL, any reference available?
Sid Kraft
PROGRAM Simple
INCLUDE <clearwin.ins>,nolist
INCLUDE <opengl.ins>,nolist
CHARACTER*1 ABUFFER(80)
REAL*8 VECTR1, XXVAR, YYVAR, ZZVAR, XVAR(800), YVAR(800),
* ZVAR(800), XEND, YEND, ZEND
REAL t1,t2
INTEGER i, ctrl, IPLTCD, ICNTRL, IPEN
i=winio@('%es%ca[Simple OpengGL Sample]&')
i=winio@('%sp%ww[no_border]%og[static]%lw',
* 0, 0, 500, 500, ctrl)
ICNTRL=0
INDX1=1
VEC1=0.D0
VEC2=0.D0
VEC3=0.D0
IPEN=0
C OPEN THE INPUT FILE, GENERATED FROM PLOT/MATH
OPEN(UNIT=5,FILE='C:/Parsource_test/PARPLT.TXT')
100 IF (ICNTRL .EQ. 0) GOTO 200
C OTHER THAN FIRST RECORD, READ SUBSEQUENT, LOAD BUFFER
125 READ(5,150,END=1010) XXVAR, YYVAR, ZZVAR, VEC1, VEC2, VEC3,
* IPEN,(ABUFFER(I),I=1,4)
150 FORMAT(6F9.4,I4,4A1)
XVAR(INDX1)=XXVAR
YVAR(INDX1)=YYVAR
ZVAR(INDX1)=ZZVAR
INDX1=INDX1+1
IF (IPEN .EQ. 999) GOTO 1010
GOTO 125
200 READ(5,1000)IPLTCD, VECTR1, (ABUFFER(I),I=1,68)
ICNTRL=1
1000 FORMAT(I4,F10.4,68A1)
GOTO 125
1010 CONTINUE
INDX1=1
CALL glScalef(1,1,1)
CALL glBegin(GL_LINES)
CALL glColor3f(1.0,1.0,1.0)
CALL glLineWidth(0.0)
C CHECK FOR END OF FILE, ALL ZERO
1020 XEND = XVAR(INDX1)
YEND = YVAR(INDX1)
ZEND = ZVAR(INDX1)
IF (DABS(XEND+YEND+ZEND) .LT. 1.D-5) GOTO 1900
C DRAW THE SEGMENT AND CONTINUE
CALL glVertex3f(XVAR(INDX1),YVAR(INDX1),ZVAR(INDX1))
CALL glVertex3f(XVAR(INDX1+1),YVAR(INDX1+1),ZVAR(INDX1+1))
INDX1=INDX1+1
C GET NEXT SEGMENT
GOTO 1020
1900 CALL glEND()
END [/code]