2016-08-04 2 views
1

msvs에서 intel 병렬 스튜디오로 opengl을 사용하여 fortran95에서 2D 실제 배열을 시각화하려고합니다. 내가 찾은이 들어 서브 루틴의 설명에서 fglDrawPixelsfortran fgldrawpixels character * 8 데이터에 대한 포인터

http://polarhome.com/service/man/?qf=fgldrawpixels&tf=2&of=IRIX&sf=3에 (이해하려고 노력)

SUBROUTINE fglDrawPixels(INTEGER*4 width, 
       INTEGER*4 height, 
       INTEGER*4 format, 
       INTEGER*4 type, 
       CHARACTER*8 pixels) 

는 픽셀

는 픽셀 데이터에 대한 포인터를 지정 말한다.

표시하려는 데이터가 실제 (4) (또는 GL_FLOAT)이므로이를 충분히 이해하지 못합니다. 사용할 수있는 포인터를 어떻게 선언합니까? (실제 (4) 데이터에 대한 포인터로 문자 * 8) - 나는

어떤 도움 또는이를 암시 ...이 real(4), pointer, dimension(:,:) :: pixels로 선언 될 수 있지만, 그 fglDrawPixels이 무엇을 기대 될 것 같지 않습니다 생각 많이

을 감사합니다

답변

3

루틴의 인터페이스에 대한 설명이 잘못되었습니다. pixels 인수는 정수 (K_GLvoid) 유형, 즉 주소 크기의 정수입니다. Fortran 포인터가 아닙니다. 일반적으로 LOC (버퍼)를 사용합니다. 여기서 buffer는 픽셀 데이터를 저장하는 데 사용하는 변수입니다. 이러한 모든 인수는 값에 의해 전달되며 호출 규칙은 STDCALL입니다.

인텔 Visual Fortran을 사용하는 경우 모듈 IFOPNGL은 올바른 인터페이스로 선언합니다.

관련 문제