Similar documents

第3章 OpenGL の基礎

第3章 OpenGL の基礎

Informatics 2014

Informatics 2010.key

Informatics 2015

( ) 1 1: 1 #include <s t d i o. h> 2 #include <GL/ g l u t. h> 3 #include <math. h> 4 #include <s t d l i b. h> 5 #include <time. h>

untitled

libaux.dvi

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return 0; 戻り値 1: main() 2.2 C main

(300, 150) 120 getchar() HgBox(x, y, w, h) (x, y), w, h #include <stdio.h> #include <handy.h> int main(void) { int i; double w, h; } HgO

WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57

3.2 Linux root vi(vim) vi emacs emacs 4 Linux Kernel Linux Git 4.1 Git Git Linux Linux Linus Fedora root yum install global(debian Ubuntu apt-get inst

1) OOP 2) ( ) 3.2) printf Number3-2.cpp #include <stdio.h> class Number Number(); // ~Number(); // void setnumber(float n); float getnumber();

r07.dvi

ohp07.dvi

OpenGL GLSL References Kageyama (Kobe Univ.) Visualization / 58

2 : 2008/12/ /01/ G :

C 2 / 21 1 y = x 1.1 lagrange.c 1 / Laglange / 2 #include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 float x[10], y[10]; 7 float xx, pn, p; 8 in

programmingII2019-v01

資料

#include <stdio.h> 2 #include <stdlib.h> 3 #include <GL/glut.h> 4 Program 1 (OpenGL GameSample001) 5 // 6 static bool KeyUpON = false; // 7 sta

r08.dvi

Unix * 3 PC 2 Linux, Mac *4 Windows Cygwin Cygwin gnuplot Cygwin unix emulator online gnuplot *5 matplotlib *6 SuperMongo *7 gnuplot gnuplot OS *8 Uni

C B

ohp08.dvi

untitled

1 VisBAR edu H 2 O.....

C

C C UNIX C ( ) 4 1 HTML 1

LAN Copyright c Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution 2.1 Japan License

Microsoft Word - C.....u.K...doc

1 (bit ) ( ) PC WS CPU IEEE754 standard ( 24bit) ( 53bit)


program.dvi

/* sansu1.c */ #include <stdio.h> main() { int a, b, c; /* a, b, c */ a = 200; b = 1300; /* a 200 */ /* b 200 */ c = a + b; /* a b c */ }

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

C言語によるアルゴリズムとデータ構造

2008 DS T050049

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

PowerPoint Presentation

Debian での数学ことはじめ。 - gnuplot, Octave, R 入門

謗域・ュ逕ィppt

x h = (b a)/n [x i, x i+1 ] = [a+i h, a+ (i + 1) h] A(x i ) A(x i ) = h 2 {f(x i) + f(x i+1 ) = h {f(a + i h) + f(a + (i + 1) h), (2) 2 a b n A(x i )

ex01.dvi

ex12.dvi

XMPによる並列化実装2

[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

大統一Debian勉強会 gdb+python拡張を使ったデバッグ手法

FFTSS Library Version 3.0 User's Guide

untitled

1 1. Program 1 OpenCV (OpenCV Sample001) 1 /* 2 - > - > - >VC++ 3 ( ) 4 C:\opencv\build\include 5 ( ) 6 C:\opencv\build\x86\vc10\lib 7 - > - > - > - >

(2 Linux Mozilla [ ] [ ] [ ] [ ] URL 2 qkc, nkc ~/.cshrc (emacs 2 set path=($path /usr/meiji/pub/linux/bin tcsh b

tuat1.dvi

[ 1] 1 Hello World!! 1 #include <s t d i o. h> 2 3 int main ( ) { 4 5 p r i n t f ( H e l l o World!! \ n ) ; 6 7 return 0 ; 8 } 1:

8 / 0 1 i++ i 1 i-- i C !!! C 2

AutoTuned-RB

course pptx

1.3 2 gnuplot> set samples gnuplot> plot sin(x) sin gnuplot> plot [0:6.28] [-1.5:1.5] sin(x) gnuplot> plot [-6.28:6.28] [-1.5:1.5] sin(x),co

DiMP Users Manual Yuichi Tazaki

para02-2.dvi

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.

BW BW

3.1 stdio.h iostream List.2 using namespace std C printf ( ) %d %f %s %d C++ cout cout List.2 Hello World! cout << float a = 1.2f; int b = 3; cout <<

新・明解C言語 ポインタ完全攻略

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

: CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and Technology

double float

ex01.dvi

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l

P05.ppt

Java学習教材

Complex Lab – Operating Systems - Graphical Console

ProVisionaire Control V3.0セットアップガイド

2 I I / 61

DOPRI5.dvi

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

2 1. Ubuntu 1.1 OS OS OS ( OS ) OS ( OS ) VMware Player VMware Player jp/download/player/ URL VMware Plaeyr VMware


1-4 int a; std::cin >> a; std::cout << "a = " << a << std::endl; C++( 1-4 ) stdio.h iostream iostream.h C++ include.h 1-4 scanf() std::cin >>


2 1 Web Java Android Java 1.2 6) Java Java 7) 6) Java Java (Swing, JavaFX) (JDBC) 7) OS 1.3 Java Java

05 I I / 56

2017 p vs. TDGL 4 Metropolis Monte Carlo equation of continuity s( r, t) t + J( r, t) = 0 (79) J s flux (67) J (79) J( r, t) = k δf δs s( r,

Ansible

double 2 std::cin, std::cout 1.2 C fopen() fclose() C++ std::fstream 1-3 #include <fstream> std::fstream fout; int a = 123; fout.open( "data.t

01_OpenMP_osx.indd

cpall.dvi

gnuplot.dvi

07-二村幸孝・出口大輔.indd

web06.dvi


¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶·

2 A I / 58

joho09.ppt

CudaWaveField

pptx

joho07-1.ppt

Transcription:

GLSC3D (Ver. 2.2.1) Manual 2016 5 12

3 1 8 1.1 GLSC.................................. 8 1.2 GLSC................................. 8 1.3 GLSC3D................................ 12 1.3.1 X Window System........................... 12 1.3.2 OpenGL GLUT........................... 12 1.3.3 GLSC OpenGL........................ 13 1.3.4 GLSC3D.......................... 14 1.4 GLSC3D................................... 14 1.5 GLSC3D................................ 15 2 GLSC 17 2.1 GLSC................................. 17 2.1.1 Fortran....................... 17 2.1.2........................... 17 2.2 GLSC3D.................................. 18 2.2.1 (Ver1.x )............ 18 2.2.2 (Ver1.x )......... 19 2.2.3 GLSC3D.......... 21 2.2.4............................... 22 3 23 3.1....................................... 23 3.2................................... 23 3.2.1 MacOS................................. 23 3.2.2 Linux.................................. 24 3.2.3 Windows................................ 25 4 GLSC3D 26 5 GLSC3D 28 5.1....................................... 31 5.1.1 g init...................................... 31 5.1.2 g init core.................................. 32 5.1.3 g cls...................................... 33 5.1.4 g init light.................................. 34

4 5.1.5 g init light core.............................. 35 5.1.6 g finish.................................... 36 5.1.7 g scr color.................................. 37 5.1.8 g sleep..................................... 38 5.1.9 g capture set, g capture.......................... 39 5.2....................................... 40 5.2.1 g input state................................. 40 5.3..................................... 42 5.3.1 g def scale 2D................................ 42 5.3.2 g def scale 3D................................ 43 5.3.3 g def scale 3D core............................. 45 5.3.4 g sel scale 2D,g sel scale 3D....................... 46 5.4................................ 47 5.4.1 g marker color................................ 47 5.4.2 g marker type................................. 48 5.4.3 g marker size................................. 49 5.4.4 g def marker.................................. 50 5.4.5 g sel marker.................................. 51 5.4.6 g line color.................................. 52 5.4.7 g line width.................................. 53 5.4.8 g line type.................................. 54 5.4.9 g def line................................... 55 5.4.10 g sel line................................... 56 5.4.11 g area color 2D,g area color 3D...................... 57 5.4.12 g def area 2D,g def area 3D........................ 58 5.4.13 g sel area 2D,g sel area 3D........................ 59 5.4.14 g text color.................................. 60 5.4.15 g text font.................................. 61 5.4.16 g text font core............................... 62 5.4.17 g def text................................... 63 5.4.18 g sel text................................... 64 5.5....................................... 65 5.5.1 g marker 2D, g marker 3D.......................... 65 5.5.2 g text standard................................ 66 5.5.3 g text virtual 2D,g text virtual 3D................... 67 5.5.4 g move 2D,g move 3D............................. 68 5.5.5 g plot 2D,g plot 3D............................. 69 5.5.6 g box 2D.................................... 70

5 5.5.7 g box 3D.................................... 71 5.5.8 g box 3D core................................. 72 5.5.9 g sphere 3D.................................. 74 5.5.10 g sphere 3D core............................... 75 5.5.11 g ellipse 3D.................................. 76 5.5.12 g ellipse 3D core.............................. 77 5.5.13 g prism 3D................................... 78 5.5.14 g prism 3D core................................ 79 5.5.15 g cylinder 3D................................. 81 5.5.16 g cylinder 3D core.............................. 82 5.5.17 g cone 2D.................................... 84 5.5.18 g cone 3D.................................... 85 5.5.19 g cone 3D core................................ 87 5.5.20 g pyramid 3D.................................. 89 5.5.21 g pyramid 3D core.............................. 90 5.5.22 g arrow 2D................................... 92 5.5.23 g arrow 3D................................... 93 5.5.24 g arrow 3D core................................ 94 5.5.25 g triangle 2D................................. 96 5.5.26 g triangle 3D................................. 97 5.5.27 g triangle 3D core.............................. 98 5.5.28 g fan 2D.................................... 99 5.5.29 g fan 3D.................................... 100 5.5.30 g fan 3D core................................. 101 5.5.31 g circle 2D.................................. 103 5.5.32 g circle 3D.................................. 104 5.5.33 g circle 3D core............................... 105 5.5.34 g polygon 2D.................................. 107 5.5.35 g polyline 2D................................. 108 5.5.36 g polyline 3D................................. 109 5.5.37 g rectangle 3D................................ 110 5.5.38 g rectangle 3D core............................. 111 5.5.39 g data plot 2D................................ 112 5.5.40 g data plot 3D................................ 113 5.5.41 g data plot f 3D............................... 114 5.6....................................... 115 5.6.1 g contln 2D.................................. 115 5.6.2 g contln f 2D................................. 116

6 5.6.3 g bird view 3D................................ 117 5.6.4 g bird view f 3D............................... 118 5.6.5 g isosurface 3D................................ 119 5.6.6 g isosurface f 3D.............................. 120 6 122 6.1 1.................... 122 7 Version 123 8 127 9 128 9.1.................................. 128 9.2 Manual................................. 128 9.3 GLSC3D.............................. 128 9.4.................................. 128 9.5..................................... 129 9.6....................................... 129 9.7................................ 130 9.8 Future Works.................................... 130

8 1 GLSC GLSC3D 1.1 GLSC GLSC Graphics Library for Scientific Computing *1 GLSC 1980 GLSC gnuplot *2 Mathematica, MatLab *3 GLSC No GLSC *4 GLSC 1.2 GLSC C r[i] i ( ) 19 r[i] 21 Free gnuplot > gnuplot gnuplot *1 GLSC google http://www-mmc.es.hokudai.ac.jp/~masakazu/ *2 http://www.gnuplot.info/ *3 Mathematica, Matlab *4

9 ---------------- Step = 0 ----------------

10 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define N (10) 4 #define STEP (100) 5 int PlusMinus(void) 6 { 7 if(rand() < RAND_MAX / 2) return 1; 8 else return -1; 9 } 10 int main(void) 11 { 12 int i, r[n],i_time; 13 //Initialize 14 for(i = 0;i < N;i ++) r[i] = 0; 15 //Time Loop 16 for(i_time = 0;i_time < STEP;i_time ++) 17 { 18 //Calc 19 for(i = 0;i < N;i ++) r[i] += PlusMinus(); 20 //Print 21 printf("---------------- Step = %d ----------------\n",i_time); 22 for(i = 0;i < N;i ++) printf("%3d ",r[i]); 23 printf("\n"); 24 } 25 return 0; 26 } ---------------- Step = 0 ---------------- 1 1-1 1-1 1 1-1 -1-1 ---------------- Step = 1 ---------------- 2 0-2 2 0 0 0 0 0 0 ---------------- Step = 2 ---------------- : : ---------------- Step = 98 ---------------- -5-15 13 1-7 15-3 1 7-3 ---------------- Step = 99 ---------------- -4-16 12 2-8 14-4 0 6-2

11 gnuplot gnuplot gnuplot popen C gnuplot C gnuplot *5 GLSC C GLSC X Windowsy System *6 GLSC gnuplot gnuplot> plot sin(x) gnuplot GLSC GLSC GLSC GLSC GLSC *5 2014.6.4 *6 http://www.x.org/

12 GLSC 1.3 GLSC3D GLSC 3 *7 GLSC 3 3 *8 3 GLSC *9 3 * 10 3 GLSC3D 1.3.1 X Window System GLSC3D GLSC 3 GLSC3D GLSC 3D GLSC * 11 GLSC X Window System Call 3D X Window System X Window System 3 1.3.2 OpenGL GLUT 3 OpenGL(Open Graphics Library) * 12 DirectX * 13 Windows OpenGL API(Application Program Interface) GLSC3D *7 *8 2010 *9 3 2 *10 AVS 15 Mathematica 20 *11 GLSC3.8 g_contln_3d *12 http://www.opengl.org/ *13 http://ja.wikipedia.org/wiki/microsoft_directx

13 OpenGL API * 14 GLUT(OpenGL Utility Toolkit) * 15 GLUT OS OpengGL GLUT GLUT 1998 Version 3.7 (OpenGLUT * 16 FreeGLUT * 17 ) GLUT freeglut MacOS GLSC3D freeglut * 18 GLSC3D 1.3.3 GLSC OpenGL GLSC * 19 (a) GLSC * 20 OpenGL (b) OpenGL GLUT main glutmainloop glutmainloop 3D ( ) OpenGL *14 GLSC3D (2014.6.5) *15 http://www.opengl.org/resources/libraries/glut/ *16 http://openglut.sourceforge.net/ *17 http://freeglut.sourceforge.net/ *18 OpenGLUT *19 *20

14 OpenGL API OpenGL OpenGL GLSC OpenGL GLSC3D GLSC3D 1.3.4 GLSC3D GLSC OpenGL GLSC3D OpenGL * 21 GLSC3D 1.4 GLSC3D GLSC3D DrawCone (0, 0, 0) (0, 0, h) r DrawCone * 22 h, r 3D DrawCone DrawCone DrawCone OpenGL glpushmatrix, glpopmatrix, gltranslatef, glrotatef * 23 3D GLSC3D *21 *22 f(x, y) x, y *23 OpenGL 5

15 GLSC3D 1 1 3D GLSC3D 1.5 GLSC3D GLSC3D GLSC GLSC3D GLSC3D g_sphere_3d g_sphere etc... GLSC3D _core g_sphere_3d_core GLSC3D g_a, g_a_core g_a g_a_core Call GLSC3D GLSC3D * 24 *24 3

16 g_sphere_3d g_sphere_3d_core GLSC3D GLSC3D

17 2 GLSC GLSC3D GLSC OpenGL(+GLUT) X Window System GLSC3D 0 3 GLSC GLSC3D 2.1 GLSC 2.1.1 Fortran GLSC Fortran GLSC3D Fortran GLSC Wrap Fortran C Call Fortran Wrapper 2.1.2 3 OpenGL ( ) OpenGL (3 ) glbegin(gl_lines); glvertex3f(0,0,0); glvertex3f(0,1,0); glend(); glflush(); /* */ /* */ /* */ /* */ /* */ GLSC ( ) GLSC (2 ) g_move(0,0); g_plot(0,1); /* */ /* */ GLSC

18 OpenGL * 25 GLSC3D GLSC OpenGL GLSC3D (3 ) g_move_3d(0,0,0); /* */ g_plot_3d(0,1,0); /* */ g_finish(); /* */ g_finish GLSC g_finish GLSC g_sleep GLSC3D g_finish GLSC3D g_xxxx; /* 1*/ g_xxxx; /* 2*/ g_xxxx; /* 3*/... g_finish(); /* */ g_sleep(0.05); /*0.05 */ 2.2 GLSC3D 2.2.1 (Ver1.x ) 2 3 (z ) GLSC GLSC3D α α *25 OpenGL GLSC3D

19 α z α z OFF 3D GLSC3D α z OFF * 26 3D α 3D g_finish (a) α (b) α 3 1.x GLSC3D α * 27 2.2.2 (Ver1.x ) Ver2.0 GLSC3D g_init_core g_enable_transparent_out = 1 *26 GLSC3D α z ON α *27 OpenGL

20 1 3 3 2 3 3 3 4 g_finish 3 1 3 3 3 3 GLSC3D g_triangle_3d_core Call g_triangle_3d_core 2 3 g_enable_transparent = 1 GLSC3D ( TRIANGLE_BUFFER ) TRIANGLE_BUFFER 2 20 500MB too many triangles for triangle buffer g_init_core (TRIANGLE_BUFFER_SIZE) 3 3 3 GLSC3D 3 TEMPORARY_TRIANGLE_BUFFER_SIZE ( TEMPORARY_TRIANGLE_BUFFER ) TRIANGLE_BUFFER TRIANGLE_BUFFER TRIANGLE_BUFFER TEMPORARY_TRIANGLE_BUFFER TEMPORARY_TRIANGLE_BUFFER TEMPORARY_TRIANGLE_BUFFER_SIZE 2 10 * 28 g_init_core TEMPORARY_TRIANGLE_BUFFER_SIZE 4 g_finish 3 3 TRIANGLE_BUFFER g_finish *28

21 GLSC3D GLSC 1 4 g_triangle_3d_core 3 3 3 3 g_sphere g_sphere_core int DivideLevel DivideLevel 0 1 3 1 4 3 2 16 3 3 2.2.3 GLSC3D GLSC3D Ver2.2 FreeType * 29 ttf bitmap bitmap libglsc3d.a libglsc3d.a 30MB libglsc3d.a 30MB PC GLSC3D Ver2.1 libglsc3d.a glsc3d.h Ver2.2 (static lib: libglsc3d.a) (shared lib: libglsc3d.dylib or libglsc3d.so) shared lib GLSC3D shared lib static lib shared lib static lib static lib shared lib *29 http://www.freetype.org

22 Mac libglsc3d.dylib /Users/masakazu/lib/libglsc3d.dylib a.out $: DYLD_LIBRARY_PATH=/Users/masakazu/lib/:${DYLD_LIBRARY_PATH} a.out Linux libglsc3d.so /home/masakazu/lib/libglsc3d.so a.out $: LD_LIBRARY_PATH=/home/masakazu/lib/:${LD_LIBRARY_PATH} a.out Windows libglsc3d.a libglsc3d.dylib * 30 shared static Ver2.1 libglsc3d.dylib libglsc3d.a 2.2.4 GLSC3D http://www-mmc.es.hokudai.ac.jp/~masakazu/ Software/Manual/mybasicManual/mybasic8.pdf *30 GLSC3D

23 3 3.1 GLSC3D OpenGL, GLUT(FreeGLUT) libpng FreeType, Math OpenGL, GLUT(FreeGLUT) GLSC3D PNG * 31 C Math 500MB Windows MacOS * 32, Linux, UNIX, 3.2 3.2.1 MacOS MacOS OS * 33 Xcode MacOS Xcode Xcode App Store Xcode Google OpenGL freeglut /Applications/Utilities/ XQuartz XQuartz /usr/x11/ /usr/x11/lib/ /usr/x11/include/ /usr/x11/lib/ libgl.dylib, libglu.dylib, libglut.dylib MacOS /System/Library/Frameworks/ OpenGL.framework GLUT.framework OpenGL+GLUT GLUT.framework FreeGLUT * 34 /usr/x11/lib/ *31 http://www.libpng.org/pub/png/libpng.html *32 MacOS UNIX *33 10.6 *34 Version

24 macports * 35 homebrew * 36 Mesa3D * 37 OpenGL FreeGLUT libpng XQuartz /usr/x11/lib/ 3.2.2 Linux Linux Linux debian fedora debian Ubuntu fedora RHEL CentOS OpenGL freeglut, FreeType //debian %sudo apt-cache search freeglut %sudo apt-cache search //fedora %sudo yum search freeglut %sudo yum search freetype freetype freeglut CentOS 6.5 freeglut-devel //debian %sudo apt-get install package //fedora %sudo yum install package package CentOS 6.5 freeglut-devel OpenGL freeglut *35 http://www.macports.org/ *36 http://brew.sh/ *37 http://www.mesa3d.org/

25 3.2.3 Windows Windows GLSC3D Windows OpenGL GLUT

26 4 GLSC3D GLSC3D (libglsc3d.a, libglsc3d.dylib, libglsc3d.so(linux )) (glsc3d.h) 2 GLSC3D.zip GLSC3D Src make $: cd Src $: make Out (libglsc3d.a, libglsc3d.dylib, libglsc3d.so(linux )) (glsc3d.h) /usr/x11r6/lib OpenGL GLUT PNG /usr/x11r6/include Makefile MacOS, Ubuntu, CentOS SampleProgram using makefile make test program $: cd../sampleprogram/using_makefile $: make $:./Run GLSC3D Linux $:./Run_linux GLSC3D SampleProgram/using_glsc3dcommand Make GLSC3D ccg

27 (libglsc3d.a, libglsc3d.dylib, libglsc3d.so(linux )) (glsc3d.h) (glsc3d.h) home lib include $: make install $: cp Out/libglsc3d.a Out/libglsc3d.dylib ~/lib/ (mac ) $: cp Out/libglsc3d.a Out/libglsc3d.so ~/lib/ (linux ) $: cp Out/glsc3d.h ~/include/ su /usr/lib /usr/include $: make install_root $: sudo cp Out/libglsc3d.a Out/libglsc3d.dylib /usr/lib/ (mac ) $: sudo cp Out/libglsc3d.a Out/libglsc3d.so /usr/lib/ (linux ) $: sudo cp Out/glsc3d.h /usr/include/

28 5 GLSC3D GLSC3D GLSC 3 2 GLSC3D

29 #include <...>... #include <glsc3d.h> int main() { g_init(...); // g_def_scale_3d(0,...); //0 g_def_scale_3d(1,...); //1... /****************************************/ /****************************************/ g_cls(); // // g_sel_scale_3d(0); //0 ( 0 ) g_area_color_3d(...); // g_box_3d(...); //3 box... // g_sel_scale_3d(1); //1 ( 1 ) g_area_color_3d(...); // g_sphere_3d(...); //3 sphere... } g_finish(); // return 0; (0.0,0.0)

30 g_def_scale GLSC3D g_text_standard _2D _3D 2 3 _2D 2 3 _3D 3 2

31 5.1 5.1.1 g init g init void g_init( const char *WindowName, int width,int height); WindowName ; G_OFF_SCREEN G_OFF_SCREEN width ; height ; g init (50,50) G_OFF_SCREEN

32 5.1.2 g init core g init core void g_init_core( const char *WindowName, int width, int height, int pos_x, int pos_y, double r, double g, double b, int g_enable_transparent_out, int TEMPORARY_TRIANGLE_BUFFER_SIZE_out, int TRIANGLE_BUFFER_SIZE_out); WindowName ; G_OFF_SCREEN G_OFF_SCREEN width ; height ; pos_x ; x pos_y ; y r, g, b ; 1 g_enable_transparent_out ; (1) (0) TEMPORARY_TRIANGLE_BUFFER_SIZE_out ; TEMPORARY_TRIANGLE_BUFFER_SIZE 2 10 TRIANGLE_BUFFER_SIZE_out ; TRIANGLE_BUFFER_SIZE 2 20 g init core g init

33 5.1.3 g cls g cls void g_cls(); g cls

34 5.1.4 g init light g init light void g_init_light( int lightnum, double lit_pos_x, double lit_ pos_y, double lit_ pos_z); lightnum ; 0 7 lit_pos ; g init light 0 7 8 GPU 8 g init light(0,1,1,1)

35 5.1.5 g init light core g init light core void g_init_light_core( int lightnum, double lit_pos_x, double lit_ pos_y, double lit_ pos_z,); lightnum ; 0 7 lit_pos ; lit_pow ; g init light core g init light

36 5.1.6 g finish g finish void g_finish(); g finish

37 5.1.7 g scr color g scr color void g_scr_color( double r, double g, double b,double a); r,g,b,a ; 0 r,g,b,a 1 g scr color

38 5.1.8 g sleep g sleep void g_sleep( double wait_time); wait_time ; g sleep

39 5.1.9 g capture set, g capture g capture set, g capture void g_capture_set( const char *name); void g_capture(); name ; NULL Frames..... g capture set,g capture g_capture_set g_capture

40 5.2 5.2.1 g input state g input state G_INPUT_STATE g_input_state( G_KEY_CODE code, int *x, int *y); code ; x,y ; g input state code code char a, @, / G_KEY_F1, G_KEY_LEFT, G_MOUSE_LEFT g_finish G_KEY** G_INPUT_STATE G KEY** G_MOUSE_LEFT, G_KEY_INVALID, G_KEY_INSERT, G_KEY_F1, G_KEY_F7, G_MOUSE_MIDDLE, G_KEY_PAGE_UP, G_KEY_LEFT, G_KEY_F2, G_KEY_F8, G_MOUSE_LEFT, G_KEY_PAGE_DOWN, G_KEY_UP, G_KEY_F3, G_KEY_F9, G_KEY_HOME, G_KEY_RIGHT, G_KEY_F4, G_KEY_F10, G_KEY_END, G_KEY_DOWN, G_KEY_F5, G_KEY_F11, G_KEY_F6, G_KEY_F12

41 G input state G_NONE ; G_DOWN ; G_UP ; G_REPEAT ; if(g_input_state( a, NULL, NULL) == G_DOWN) { //a } int x, y; if(g_input_state(g_mouse_left, &x, &y) == G_DOWN) { // printf( x : %d\n y : %d\n, x, y); } if(g_input_state(g_mouse_left, NULL, NULL) == G_DOWN) { // }

42 5.3 5.3.1 g def scale 2D g def scale 2D void g_def_scale_2d( int id, double x_left, double x_right, double y_bottom,double y_top, double x_left_std,double y_top_std, double width_std,double height_std); id ; x_left ; x x_right ; x y_bottom ; y y_top ; y x_left_std ; x y_top_std ; y width_std ; height_std ; g def scale 2D 2

43 5.3.2 g def scale 3D g def scale 3D void g_def_scale_3d( int id, double x_left, double x_right, double y_bottom,double y_top, double z_near,double z_far, double x_left_std,double y_top_std, double width_std,double height_std, double direction_x,double direction_y,double direction_z double r); id ; x_left,x_right,y_bottom,y_top,z_near,z_far ; x,y,z x_left_std ; x y_top_std ; y width_std ; height_std ; direction ; r ; g def scale 3D 3 y

44

45 5.3.3 g def scale 3D core g def scale 3D core void g_def_scale_3d_core( int id, double x_left, double x_right, double y_bottom,double y_top, double z_near,double z_far, double x_left_std,double y_top_std, double width_std,double height_std, double direction_x,double direction_y,double direction_z, double r,double up_x, double up_y, double up_z); id ; x_left,x_right,y_bottom,y_top,z_near,z_far ; x,y,z x_left_std ; x y_top_std ; y width_std ; height_std ; direction ; r ; up ; g def scale 3D core 3

46 5.3.4 g sel scale 2D,g sel scale 3D g sel scale 2D,g sel scale 3D void g_sel_scale_2d( int id); void g_sel_scale_3d( int id); id ; g sel scale 2D,g sel scale 3D

47 5.4 5.4.1 g marker color g marker color void g_marker_color( double r,double g,double b,double a); r,g,b,a ; 0 r,g,b,a 1 g marker color

48 5.4.2 g marker type g marker type void g_marker_type( double type); type ; 0 =, 1 = g marker type

49 5.4.3 g marker size g marker size void g_marker_size( double size); size ; g marker size

50 5.4.4 g def marker g def marker void g_def_marker( int id, double r, double b, double g, double a, int type, double size); id ; r,g,b,a ; 0 r,g,b,a 1 type ; 0 =, 1 = size ; g def marker

51 5.4.5 g sel marker g sel marker void g_sel_marker( int id); id ; g sel marker

52 5.4.6 g line color g line color void g_line_color( double r,double g,double b,double a); r,g,b,a ; 0 r,g,b,a 1 g line color

53 5.4.7 g line width g line width void g_line_width( size ; double size); g line width 0 1

54 5.4.8 g line type g line type void g_line_type( double type); type ; 0 8 g line type

55 5.4.9 g def line g def line void g_def_line( int id, double r, double b, double g, double a, double size, int type); id ; r,g,b,a ; 0 r,g,b,a 1 size ; type ; 0 8 g def line

56 5.4.10 g sel line g sel line void g_sel_line( int id); id ; g sel line

57 5.4.11 g area color 2D,g area color 3D g area color 2D,g area color 3D void g_area_color_2d( double r,double g,double b,double a); void g_area_color_3d( double r,double g,double b,double a); r,g,b,a ; 0 r,g,b,a 1 g area color 2D,g area color 3D

58 5.4.12 g def area 2D,g def area 3D g def area 2D,g def area 3D void g_def_area_2d( int id, double r, double b, double g, double a); void g_def_area_3d( int id, double r, double b, double g, double a); id ; r,g,b,a ; 0 r,g,b,a 1 g def area 2D,g def area 3D

59 5.4.13 g sel area 2D,g sel area 3D g sel area 2D,g sel area 3D void g_sel_area_2d( int id); void g_sel_area_3d( int id); id ; g sel area 2D,g sel area 3D

60 5.4.14 g text color g text color void g_line_color( double r,double g,double b,double a); r,g,b,a ; 0 r,g,b,a 1 g text color

61 5.4.15 g text font g text font void g_text_font( int id, unsigned int font_size); font ; font_size ; ( ) g text font 0 3 ( )

62 5.4.16 g text font core g text font core void g_text_font_core( const char *font_type, unsigned int font_size); const char *font_type ; ttf(true Type Font), otf(open Type Font) font_size ; ( ) g text font core ( ) g text font

63 5.4.17 g def text g def text void g_def_text( int id, double r,double g,double b,double a, int font, unsigned int font_size); id ; r,g,b,a ; 0 r,g,b,a 1 font ; 0 3 font_size ; g def text

64 5.4.18 g sel text g sel text void g_sel_text( int id); id ; g sel text

65 5.5 5.5.1 g marker 2D, g marker 3D g marker 2D, g marker 3D void g_marker_2d( double x,double y); void g_marker_3d( double x,double y,double z); x,y,z ; g marker 2D, g marker 3D

66 5.5.2 g text standard g text standard void g_text_standard( double x, double y, const char *str); x,y ; str ; g text standard

67 5.5.3 g text virtual 2D,g text virtual 3D g text virtual 2D,g text virtual 3D void g_text_2d_virtual( double x, double y, const char *str); void g_text_3d_virtual( double x, double y, double z, const char *str); x,y,z ; str ; g text virtual 2D,g text virtual 3D

68 5.5.4 g move 2D,g move 3D g move 2D,g move 3D void g_move_2d( double x,double y); void g_move_3d( double x,double y,double z); x,y,z ; g move 2D,g move 3D

69 5.5.5 g plot 2D,g plot 3D g plot 2D,g plot 3D void g_plot_2d( double x,double y); void g_plot_3d( double x,double y,double z); x,y,z ; g plot 2D,g plot 3D

70 5.5.6 g box 2D g box 2D void g_box_2d( double x,double y, double width,double height, G_WIREFILL WireFill); x,y ; width,height ; WireFill ; 1 0 g box 2D

71 5.5.7 g box 3D g box 3D void g_box_3d( double x,double y,double z, double width,double height,double depth); x,y,z ; width,height,depth ; g box 3D

72 5.5.8 g box 3D core g box 3D core void g_box_3d( double x, double y, double z, double width, double height, double depth, int DivideLevel, G_WIREFILL WireFill); x,y,z ; width,height,depth ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g box 3D core ( )

73

74 5.5.9 g sphere 3D g sphere 3D void g_sphere_3d( double x,double y,double z, double radius); x,y,z ; radius ; g sphere 3D

75 5.5.10 g sphere 3D core g sphere 3D core void g_sphere_3d_core( double x,double y,double z, double radius, int FaceNumberLevel, int DivideLevel, G_WIREFILL WireFill); x,y,z ; radius ; FaceNumberLevel ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g sphere 3D core

76 5.5.11 g ellipse 3D g ellipse 3D void g_ellipse_3d( double x,double y,double z, double Sx,double Sy,double Sz, double direction_x, double direction_y, double direction_z, int FaceNumberLevel, int DivideLevel, G_WIREFILL WireFill); x,y,z ; Sx,Sy,Sz ; x,y,z direction ; g ellipse 3D

77 5.5.12 g ellipse 3D core g ellipse 3D core void g_ellipse_3d( double x,double y,double z, double Sx,double Sy,double Sz, double direction_x, double direction_y, double direction_z); x,y,z ; Sx,Sy,Sz ; x,y,z direction ; FaceNumberLevel ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g ellipse 3D core

78 5.5.13 g prism 3D g prism 3D void g_prism_3d( double center_x,double center_ y,double center_ z, double direction_x,double direction_ y,double direction_ z, double radius,double height,double psi,int N); center ; direction ; radius ; height ; psi ; direction N ; g prism 3D

79 5.5.14 g prism 3D core g prism 3D core void g_prism_3d_core( double center_x,double center_ y,double center_ z, double direction_x,double direction_ y,double direction_ z, double radius,double height,double psi,int N, int DivideLevel, G_WIREFILL WireFill); center ; direction ; radius ; height ; psi ; direction N ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g prism 3D core

80

81 5.5.15 g cylinder 3D g cylinder 3D void g_cylinder_3d( double center_x,double center_ y,double center_ z, double direction_x,double direction_ y,double direction_ z, double radius,double height,double psi); center ; direction ; radius ; height ; psi ; direction g cylinder 3D

82 5.5.16 g cylinder 3D core g cylinder 3D core void g_cylinder_3d_core( double center_x,double center_ y,double center_ z, double direction_x,double direction_ y,double direction_ z, double radius,double height,double psi, int N, int DivideLevel, G_WIREFILL WireFill); center ; direction ; radius ; height ; psi ; direction N ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g cylinder 3D core

83

84 5.5.17 g cone 2D g cone 2D void g_cone_2d( double center_x,double center_ y, double direction_x,double direction_ y, double radius,double head_size,int type); center ; direction ; radius ; head_size ; type ; 0 2 g cone 2D

85 5.5.18 g cone 3D g cone 3D void g_cone_3d( double center_x,double center_ y, double center_ z, double direction_x,double direction_ y, double direction_ z, double radius,double head_size); center ; direction ; radius ; head_size ; g cone 3D

86

87 5.5.19 g cone 3D core g cone 3D core void g_cone_3d_core( double center_x,double center_ y, double center_ z, double direction_x,double direction_ y, double direction_ z, double radius,double head_size, int FaceNumberLevel_X, int FaceNumberLevel_Y, int DivideLevel, G_WIREFILL Wi center ; direction ; radius ; head_size ; FaceNumberLevel ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g cone 3D core

88

89 5.5.20 g pyramid 3D g pyramid 3D void g_pyramid_3d( double center_x,double center_ y, double center_ z, double direction_x,double direction_ y, double direction_ z, double radius,double head_size,double psi,int N); center ; direction ; radius ; head_size ; psi ; direction N ; g pyramid 3D

90 5.5.21 g pyramid 3D core g pyramid 3D core void g_pyramid_3d_core( double center_x,double center_ y, double center_ z, double direction_x,double direction_ y, double direction_ z, double radius,double head_size,double psi,int N, int DivideLevel, G_WIREFILL WireFill); center ; direction ; radius ; head_size ; psi ; direction N ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g pyramid 3D core

91

92 5.5.22 g arrow 2D g arrow 2D void g_arrow_2d( double base_x,double base_ y double direction_x,double direction_ y double arrow_size,double head_size,int type); base ; direction ; arrow_size ; head_size ; type ; (0 2) g arrow 2D

93 5.5.23 g arrow 3D g arrow 3D void g_arrow_3d( double base_x,double base_ y,double base_ z, double direction_x,double direction_ y,double direction_ z, double arrow_size,double head_size); base ; direction ; arrow_size ; head_size ; g arrow 3D

94 5.5.24 g arrow 3D core g arrow 3D core void g_arrow_3d_core( double base_x,double base_ y,double base_ z, double direction_x,double direction_ y,double direction_ z, double arrow_size,double head_size, int FaceNumberLevel_X, int FaceNumberLevel_Y, int DivideLevel, G_WIREFILL WireFill); base ; direction ; arrow_size ; head_size ; FaceNumberLevel ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g arrow 3D core

95

96 5.5.25 g triangle 2D g triangle 2D void g_triangle_2d( double x0,double y0, double x1,double y1, double x2,double y2, G_WIREFILL WireFill); x,y ; WireFill ; G_WIRE:, G_FILL: g triangle 2D

97 5.5.26 g triangle 3D g triangle 3D void g_triangle_3d( double x0,double y0,double z0, double x1,double y1,double z1, double x2,double y2,double z2, G_WIREFILL WireFill); x,y ; WireFill ; G_WIRE:, G_FILL: g triangle 3D

98 5.5.27 g triangle 3D core g triangle 3D core void g_triangle_3d_core( double x0,double y0,double z0, double x1,double y1,double z1, double x2,double y2,double z2, int DivideLevel, G_WIREFILL WireFill); x,y ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g triangle 3D core

99 5.5.28 g fan 2D g fan 2D void g_fan_2d( double center_x,double center_ y, double direction_x,double direction_ y, double radius,double angle, G_WIREFILL WireFill); center ; direction ; radius ; angle ; WireFill ; G_WIRE:, G_FILL: g fan 2D

100 5.5.29 g fan 3D g fan 3D void g_fan_3d( double center_x,double center_ y, double center_ z, double direction_x,double direction_ y, double direction_ z, double radius,double angle,double psi, G_WIREFILL WireFill); center ; direction ; radius ; angle ; psi ; direction WireFill ; G_WIRE:, G_FILL: g fan 3D

101 5.5.30 g fan 3D core g fan 3D core void g_fan_3d_core( double center_x,double center_ y, double center_ z, double direction_x,double direction_ y, double direction_ z, double radius,double angle,double psi, int FaceNumberLevel, int DivideLevel, G_WIREFILL WireFill); center ; direction ; radius ; angle ; psi ; direction FaceNumberLevel ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g fan 3D core

102

103 5.5.31 g circle 2D g circle 2D void g_circle_2d( double center_x,double center_ y, double radius,g_wirefill WireFill); center ; radius ; WireFill ; G_WIRE:, G_FILL: g circle 2D

104 5.5.32 g circle 3D g circle 3D void g_circle_3d( double center_x,double center_ y, double radius,double theta,double phi); center ; radius ; psi ; theta ; g circle 3D

105 5.5.33 g circle 3D core g circle 3D core void g_circle_3d_core( double center_x,double center_ y, double radius,double theta,double phi, int N, int DivideLevel, G_WIREFILL WireFill); center ; radius ; psi ; theta ; N ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g circle 3D core

106

107 5.5.34 g polygon 2D g polygon 2D void g_polygon_2d( double *xx,double *yy, int n,g_wirefill WireFill); xx,yy ; n ; WireFill ; G_WIRE:, G_FILL: g polygon 2D

108 5.5.35 g polyline 2D g polyline 2D void g_polyline_2d( double *xx,double *yy, int n); xx,yy ; n ; g polyline 2D

109 5.5.36 g polyline 3D g polyline 3D void g_polyline_3d( double *xx,double *yy, double *zz, int n); xx,yy,zz ; n ; g polyline 3D

110 5.5.37 g rectangle 3D g rectangle 3D void g_rectangle_3d( double center_x, double center_y, double center_z, double direction_x, double direction_y, double direction_z, double width,double depth,double psi); center ; direction ; width,height,depth ; g rectangle 3D

111 5.5.38 g rectangle 3D core g rectangle 3D core void g_rectangle_3d_core( double center_x, double center_y, double center_z, double direction_x, double direction_y, double direction_z, double width,double depth,double psi, int DivideLevel, G_WIREFILL WireFill); center ; direction ; width,height,depth ; DivideLevel ; 4 DivideLevel WireFill ; G_WIRE:, G_FILL: g rectangle 3D core

112 5.5.39 g data plot 2D g data plot 2D void g_data_plot_2d( double x0,double x1, double y0,double y1, int number_x, double u[number_x]); x,y ; number ; u u ; 1 g data plot 2D 1 u

113 5.5.40 g data plot 3D g data plot 3D void g_data_plot_3d( double x0,double x1, double y0,double y1, double z0,double z1, int number_x,int number_y, double u[number_x][number_y]); x,y,z ; number ; u u ; 2 1 2 * g data plot 3D 2 u 2 * c++

114 5.5.41 g data plot f 3D g data plot f 3D void g_data_plot_f_3d( double x0,double x1, double y0,double y1, double z0,double z1, int number_x,int number_y, double *u); x,y,z ; number ; u u ; 1 2 * g data plot f 3D 1 u 2 *

115 5.6 5.6.1 g contln 2D g contln 2D void g_contln_2d( double x_left, double x_right, double y_bottom, double y_top, int N_x, int N_y, double data2d[n_x][n_y], double level); x,y ; N ; u data2d ; 2 1 2 * level ; g contln 2D 2 u level 2 * c++

116 5.6.2 g contln f 2D g contln f 2D void g_contln_f_2d( double x_left, double x_right, double y_bottom, double y_top, int N_x, int N_y, double *data2d, double level); x,y ; N ; u data2d ; 1 2 * level ; g contln f 2D 1 u level 2 *

117 5.6.3 g bird view 3D g bird view 3D void g_bird_view_3d( double x_left,double x_right, double y_bottom,double y_top, int number_x,int number_y, double u[number_x][number_y], G_WIREFILL WireFill); x,y,z ; number ; u u ; 2 1 2 * WireFill ; G_WIRE:, G_FILL: g bird view 3D 2 u y_top=y_bottom y 2 * c++

118 5.6.4 g bird view f 3D g bird view f 3D void g_bird_view_f_3d( double x_left,double x_right, double y_bottom,double y_top, int number_x,int number_y, double *u, G_WIREFILL WireFill); x,y,z ; number ; u u ;1 2 * WireFill ; G_WIRE:, G_FILL: g bird view f 3D 1 u y_top=y_bottom y 2 *

119 5.6.5 g isosurface 3D g isosurface 3D void g_isosurface_3d( double x0,double x1, double y0,double y1, double z0,double z1, int number_x,int number_y,int number_z, double u[number_x][number_y][number_z], double height); x,y,z ; number ; u u ; 3 1 3 * height ; g isosurface 3D 3 u height 3 * c++

120 5.6.6 g isosurface f 3D g isosurface f 3D void g_isosurface_f_3d( double x0,double x1, double y0,double y1, double z0,double z1, int number_x,int number_y,int number_z, double *u, double height); x,y,z ; number ; u u ; 1 3 * height ; g isosurface f 3D 1 u height 3 *

121

122 6 GLSC3D 6.1 1 GLSC3D GLUT(FreeGLUT) freeglut-2.6.0 freeglut-2.8.1 FreeGLUT

123 7 Version 2016 5.12 Ver 2.2.1 G_Font_id,G_WIRE,G_FILL,G_BOOL define 2016 4.26 Ver 2.2 g_text static (*.a) shared (mac *.dylib, Linux *.so) 2016 4.14 Ver 2.1.1.1 g_fan_2d 2015 4.15 Ver 2.1.1 g_data_plot, g_isosurface, g_bird_view 2015 4.13 Ver 2.1 Manual 2014 12.4 Ver 2.0 Manual 2014 10.16 Ver 1.13 Manual ( ) 2014 10.16 Ver 1.13-experimental Manual gluperspectinve (fovy, z_near, z_far) ( 2014 10.14 Ver 1.12 Ver1.12-experimental

124 manual Tex 2014 10.3 Ver 1.12-experimental 3D 2D 3D 3D experimental 2014 10.3 Ver 1.11 C++ gcc g_init_3d g_init_3d_core char* const char * c++ G_INPUT g_init_3d_core 2014 9.16 Ver 1.10 g_bird_view malloc g_rectangle_3d 2014 9.8 Ver 1.09 g_text_standard 2014 9.4 Ver 1.08 g_def_scale_3d_core font 2014 8.13 Ver 1.07 g_init_3d, g_init_3d_core win_pos,width,height double int g_bird_view_f_3d g_contln_f_3d g_data_plot_f_3d, test_program 2014 8.11 Ver 1.06 g_input.c ASCII G_INPUT_STATE g_input_state(g_key_code code, int *x, int *y)

125 test_program g_input_state 2014 7.28 Ver 1.05-experimental g_input.c ASCII void g_input_init() G_INPUT g_get_input() G_INPUT_STATE g_input_state(g_input in,unsigned char key) key G_INPUT_STATE g_input.h Sample_g_input g_text_3d/2d_virtual printf glsc3d.h M_PI M_PI (CentOS ) long double 36 experimental 2014 6.27 Ver 1.04 g_init_light_3d_core TestProgram 2014 6.27 Ver 1.03 g_cls_3d glutmainloopevent g_finish_3d g_scr_color_3d (a) g_init_3d_core TestProgram SampleProgram g_rectangle_3d direction g_contln_2d 2014 6.27 Ver 1.02 g_isosurface_f_3d TestProgram 2014 6.24 Ver 1.01 TesProgram RunAllSample glsc3d.h c++ 2014 6.22 Ver 1.0

2014.6.x GLSC3D version 1.0 126

127 8 GLSC3D gnuplot OpenGL 3D * 38 *38 akiyama@es.hokudai.ac.jp

128 9 9.1 Src TestProgram 9.2 Manual Manual Canvas.key Figures eps jpg2epsconverter 9.3 GLSC3D GLSC3D FreeGLUT GLSC3D FreeGLUT FreeGLUT Ver2.8.1 FreeGLUT GLFW (2013-12 ) FreeGLUT 9.4 GLSC3D C

129 C C FORTRAN! C C 9.5 git LatestVer GLSC3DVerXXXX XXXX Src/Source Src/Include Src make Src/Object Src/Depend Out Src/Source Makefile Src make Out TestProgram SampleProgram Manual Manual/GLSC3D Manual.pdf Manual/.TexManual GLSC3D Manual.tex Figure/eps 9.6 GLSC3D 1. G_POSITION G_COLOR G_MATERIAL G_VERTEX 2. G_VERTEX G_TRIANGLE 3. G_TRIANGLE g_set_triangle

130 g_triangle_3d 9.7 glsc3d private.h G_VECTOR G_POSITION G_VECTOR w=1 G_DIRECTION G_VECTOR w=0 g_plus, g_minus w G_VECTOR g_multi w G_VECTOR G_POSITION glsc3d private.h 1,2 9.8 Future Works 1. Ver2.2! 2. 3. 3 4. Ver2.1! 5. g_def_scale 6. triangle buffer 7. g_off_screen.c/g_init_off_screen_rendering 8. C 9. OpenGL OpenGL glshadersource GLSL

131 10. 2016/4/14 freeglut 3.0.0 freeglut ERROR: No display callback registered for window 1 freeglut 11. OpenGL freglut (2016/4/14)