Microsoft Word - ggbook.docx

Size: px
Start display at page:

Download "Microsoft Word - ggbook.docx"

Transcription

1 62 4GPU (Graphics Processing Unit)

2 ( 64) " () " " " 64 63

3 4.1.2 () GPU (Graphics Procssing Unit) (Transform) (Lighting ) T & L (Transform and Lighting) " CG () " () (Swizzling)

4 GPU () CPU GPU GPU GPU CPU ( CPU ) (peripheral) CPU GPU 65

5 (discrete) GPU PCI-Express GPU GPU GPU ( ) () GPU

6 () / (

7 ) ( 70) 70 GPU 4.2 CPU GPU GPU (attribute) GPU (Vertex Buffer Object, VBO) () (Index Buffer Object) (Vertex Array Object) () GPU uniform GPU 68

8 GPU 71 OpenGL 3.2 OpenGL 4.x 71 69

9 (primitive) 70

10 C " HLSL (High Level Shading Language)! DirectX! Microsoft NVIDIA " Cg (C for Graphics)! DirectX OpenGL! NVIDIA " GLSL (OpenGL Shading Language, GLslang)! OpenGL! OpenGL ARB ( Khronos Group) GLSL (OpenGL Shading Language) OpenGL 71

11 72 OpenGL OpenGL 2.0 OpenGL GPU OpenGL 3.2 Core Profile () () Mac OS X 10.7 (Lion) 3 OpenGL GLSL GLSL 3 OpenGL GLSL 72

12 OpenGL 3.2 Core Profile CPU GPU GPU GLSL 1. glcreateprogram() 2. glcreateshader() 3. glshadersource() 4. glcompileshader() 5. glattachshader() 6. gllinkprogram() gluseprogram() 73

13 5.3.2 " #version150core invec4pv; voidmain() { gl_position=pv; } 1 #version GLSL 150 OpenGL 3.2 GLSL 1.50 core Core Profile 2 pv in in CPU attribute vec4 32bit (float ) 4 2 vec23 vec3 C. {.x,.y,.z,.w }{.s,.t,.p, q } {.r,.g,.b,.a } ( 4) 4 GLSL float vec2 vec3 vec x.y.z.w.r.g.b.a.s.t.p.q vec4 pv; pv.xy pv.rgb vec4 pv 1,2, vec2 pv 1,2,3, vec3 pv.q pv.yx pv.brg pv 4, float pv 1,2, vec2 pv 1,2,33,1,2, vec3 C C++ main() main() void main() CPU GPU 74

14 CPU GPU attribute gl_position GLSL () attribute pv gl_position " #version150core outvec4fc; voidmain() { fc=vec4(1.0,0.0,0.0,1.0); } 2 fc out vec4() vec4 () fc R () G ()B () A () 4 () discard GPU glcreateprogram() (program) constgluintprogram(glcreateprogram()); GLuint glcreateprogram(void) () #version '#' ' n' staticconstglcharvsrc[]= { "#version150core n", 75

15 "invec4pv;", "voidmain()", "{", "gl_position=pv;", "}", }; (vobj) sizeof vsrc / sizeof vsrc[0] vsrc () GL_VERTEX_SHADER GL_FRAGMENT_SHADER constgluintvobj(glcreateshader(gl_vertex_shader)); glshadersource(vobj,sizeofvsrc/sizeofvsrc[0],vsrc,null); glcompileshader(vobj); 1 ' n' 2 staticconstglcharvsrc= "#version150core n" "invec4pv; n" "voidmain() n" "{ n" "gl_position=pv; n" "} n"; constgluintvobj(glcreateshader(gl_vertex_shader)); glshadersource(vsrc,1,&vsrc,null); glcompileshader(vobj); GLuint glcreateshader(glenum shadertype) () 0 0 shadertype GL_VERTEX_SHADER GL_FRAGMENT_SHADER void glshadersource(gluint shader, GLsizei count, const GLchar string, const GLint length) shader count string glcreateshader() string '#' ' n' 76

16 length length NULL (0) length string () length string (' 0') void glcompileshader(gluint shader) shader glattachshader(program,vobj); gldeleteshader(vobj); void glattachshader(gluint program, GLuint shader) program shader void gldetachshader(gluint program, GLuint shader) program shader void gldeleteshader(gluint shader) shader void gldeleteprogram(gluint program) program gldeleteshader() gldetachshader() 77

17 gldeleteprogram() (, attribute) (attribute pv) (index) ( fc ) (colornumber) 0 CPU GPU GPU glbindattriblocation(program,0,"pv"); glbindfragdatalocation(program,0,"fc"); gllinkprogram(program); void glbindattriblocation(gluint program, GLuint index, const GLchar name) attribute attribute in program index name attribute name in () 0 0 in void glbindfragdatalocation(gluint program, GLuint colornumber, const char name) out program index name (out ) name out () out 78

18 79 void gllinkprogram(gluint program) program program NULL // //vsrc: //pv:in //fsrc: //fc:out staticgluintcreateprogram(constcharvsrc,constcharpv, constcharfsrc,constcharfc) { // constgluintprogram(glcreateprogram()); if(vsrc!=null) { // constgluintvobj(glcreateshader(gl_vertex_shader)); glshadersource(vobj,1,&vsrc,null); glcompileshader(vobj); // glattachshader(program,vobj); gldeleteshader(vobj); } if(fsrc!=null) { // constgluintfobj(glcreateshader(gl_fragment_shader)); glshadersource(fobj,1,&fsrc,null); glcompileshader(fobj); // glattachshader(program,fobj); gldeleteshader(fobj); } // glbindattriblocation(program,0,pv); glbindfragdatalocation(program,0,fc); gllinkprogram(program); // returnprogram; }

19 5.3.7 gluseprogram() gluseprogram(program); void gluseprogram(gluint program) program 0 " main() createprogram() GLEW gluseprogram() #include<cstdlib> #include<iostream> #include<gl/glew.h> #include<glfw/glfw3.h> // staticvoidcleanup() { //GLFW glfwterminate(); } // //vsrc: //pv:in //fsrc: //fc:out staticgluintcreateprogram(constcharvsrc,constcharpv, constcharfsrc,constcharfc) { } intmain() { // glclearcolor(1.0f,1.0f,1.0f,0.0f); // staticconstglcharvsrc[]= "#version150core n" "invec4pv; n" 80

20 "voidmain() n" "{ n" "gl_position=pv; n" "} n"; // staticconstglcharfsrc[]= "#version150core n" "outvec4fc; n" "voidmain() n" "{ n" "fc=vec4(1.0,0.0,0.0,1.0); n" "} n"; // constgluintprogram(createprogram(vsrc,"pv",fsrc,"fc")); // while(glfwwindowshouldclose(window)==gl_false) { // glclear(gl_color_buffer_bit); // gluseprogram(program); // // // // glfwswapbuffers(window); // glfwwaitevents(); } } " gluseprogram() gluseprogram(program); while () () gluseprogram(0); 5.4 GLSL GL_TRUE GL_FALSE // //shader: 81

21 //str: staticglbooleanprintshaderinfolog(gluintshader,constcharstr) { // GLintstatus; glgetshaderiv(shader,gl_compile_status,&status); if(status==gl_false)std::cerr<<"compileerrorin"<<str<<std::endl; // GLsizeibufSize; glgetshaderiv(shader,gl_info_log_length,&bufsize); if(bufsize>1) { // std::vector<glchar>infolog(bufsize); GLsizeilength; glgetshaderinfolog(shader,bufsize,&length,&infolog[0]); std::cerr<<&infolog[0]<<std::endl; } returnstatic_cast<glboolean>(status); } void glgetshaderiv(gluint shader, GLenum pname, GLint params) shader pname GL_SHADER_TYPE shader (GL_VERTEX_SHADER, GL_FRAGMENT_SHADER) params GL_DELETE_STATUS shader gldeleteshader() GL_TRUE GL_FALSE params GL_COMPILE_STATUS shader GL_TRUE GL_FALSE params GL_INFO_LOG_LENGTH shader params 0 GL_SHADER_SOURCE_LENGTH shader params 0 82

22 params void glgetshaderinfolog(gluint shader, GLsizei maxlength, GLsizei length, GLchar infolog) shader maxlength length infolog infolog GL_TRUE GL_FALSE // //program: staticglbooleanprintprograminfolog(gluintprogram) { // GLintstatus; glgetprogramiv(program,gl_link_status,&status); if(status==gl_false)std::cerr<<"linkerror."<<std::endl; // GLsizeibufSize; glgetprogramiv(program,gl_info_log_length,&bufsize); if(bufsize>1) { // std::vector<glchar>infolog(bufsize); GLsizeilength; glgetprograminfolog(program,bufsize,&length,&infolog[0]); std::cerr<<&infolog[0]<<std::endl; } returnstatic_cast<glboolean>(status); } void glgetprogramiv(gluint program, GLenum pname, GLint params) program pname 83

23 GL_DELETE_STATUS program gldeleteprogram() GL_TRUE GL_FALSE params GL_LINK_STATUS program GL_TRUE GL_FALSE params GL_VALIDATE_STATUS program glvalidateprogram() params params OpenGL GL_TRUE GL_FALSE GL_INFO_LOG_LENGTH program params 0 GL_ATTACHED_SHADERS program params params void glvalidateprogram(gluint program) OpenGL glgetprogramiv() pname GL_VALIDATE_STATUS program void glgetprograminfolog(gluint program, GLsizei maxlength, GLsizei length, GLchar infolog) program maxlength infolog length (infolog ) infolog maxlength " createprogram() 84

24 C++ vector vector #include #include<cstdlib> #include<iostream> #include<vector> #include<gl/glew.h> #include<glfw/glfw3.h> // staticvoidcleanup() { //GLFW glfwterminate(); } // //shader: //str: staticglbooleanprintshaderinfolog(gluintshader,constcharstr) { } // //program: staticglbooleanprintprograminfolog(gluintprogram) { } // //vsrc: //pv:in //fsrc: //fc:out staticgluintcreateprogram(constcharvsrc,constcharpv, constcharfsrc,constcharfc) { // constgluintprogram(glcreateprogram()); if(vsrc!=null) { // constgluintvobj(glcreateshader(gl_vertex_shader)); glshadersource(vobj,1,&vsrc,null); glcompileshader(vobj); // if(printshaderinfolog(vobj,"vertexshader")) glattachshader(program,vobj); gldeleteshader(vobj); } if(fsrc!=null) 85

25 { // constgluintfobj(glcreateshader(gl_fragment_shader)); glshadersource(fobj,1,&fsrc,null); glcompileshader(fobj); // if(printshaderinfolog(fobj,"fragmentshader")) glattachshader(program,fobj); gldeleteshader(fobj); } // glbindattriblocation(program,0,pv); glbindfragdatalocation(program,0,fc); gllinkprogram(program); // if(printprograminfolog(program)) returnprogram; //0 gldeleteprogram(program); return0; } 5.5 GLSL C++ C++ C++ C++ readshadersource() // //name: staticglcharreadshadersource(constcharname) { //NULLNULL if(name==null)returnnull; // std::ifstreamfile(name,std::ios::binary); if(file.fail()) { // std::cerr<<"error:can'topensourcefile:"<<name<<std::endl; returnnull; } // file.seekg(0l,std::ios::end); 86

26 87 constglsizeilength(static_cast<glsizei>(file.tellg())); //( 0 ) GLcharbuffer(new(std::nothrow)GLchar[length+1]); if(buffer==null) { // std::cerr<<"error:toolargefile:"<<name<<std::endl; file.close(); returnnull; } // file.seekg(0l,std::ios::beg); file.read(buffer,length); buffer[length]=' 0'; if(file.bad()) { // std::cerr<<"error:couldnotreadsoucefile:"<<name<<std::endl; deletebuffer; buffer=null; } file.close(); // returnbuffer; } createprogram() loadprogram() // //vert: //pv:in //frag: //fc:out staticgluintloadprogram(constcharvert,constcharpv, constcharfrag,constcharfc) { // constglcharvsrc(readshadersource(vert)); constglcharfsrc(readshadersource(frag)); // constgluintprogram(createprogram(vsrc,pv,fsrc,fc)); // deletevsrc; deletefsrc; // returnprogram; }

27 " createprogram() readshadersource() loadprogram() main() vsrc fsrc createprogram() loadprogram() #include<cstdlib> #include<iostream> #include<fstream> #include<vector> #include<gl/glew.h> #include<glfw/glfw3.h> // //vsrc: //pv:in //fsrc: //fc:out staticgluintcreateprogram(constcharvsrc,constcharpv, constcharfsrc,constcharfc) { } // //name: staticglcharreadshadersource(constcharname) { } // //vert: //pv:in //frag: //fc:out staticgluintloadprogram(constcharvert,constcharpv, constcharfrag,constcharfc) { } intmain() { // glclearcolor(1.0f,1.0f,1.0f,0.0f); //vsrc //fsrc // 88

28 constgluintprogram(loadprogram("point.vert","pv","point.frag","fc")); // while(glfwwindowshouldclose(window)==gl_false) { } } C++ point.vert point.frag () C++ () " point.vert #version150core invec4pv; voidmain() { gl_position=pv; } point.frag #version150core outvec4fc; voidmain() { fc=vec4(1.0,0.0,0.0,1.0); } " Xcode Mac OS X Xcode C++ Xcode C++ Xcode C++ Xcode Xcode Set Active Scheme Edit Scheme ( 74) 89

29 74 Run Options Working Directory C++ OK ( 75) 75 (Working Directory) 90

30 6 6.1 OpenGL (GPU) (CPU) OpenGL ( 5) GLubyte C C++ unsigned char GLfloat float GLclampf float OpenGL GLhalf 6.2 OpenGL OpenGL (attribute) GPU GPU (Vertex Buffer Object, VBO) (Vertex Array Object, VAO) OpenGL 91

31 5 OpenGL GLboolean GLbyte GLubyte GLchar GLshort GLushort GLint GLuint GLint64 GLuint64 GLsizei GLenum GLintptr GLsizeiptr GLsync GLbitfield GLhalf GLfloat GLclampf GLdouble GLclampd 6.3 glgenvertexarrays() glbindvertexarray() GLuintvao; glgenvertexarrays(1,&vao); glbindvertexarray(vao); void glgenvertexarrays(glsizei n, GLuint arrays) n arrays () n 92

32 void glbindvertexarray(gluint array) array vertices // staticconstglfloatposition[][2]= { {K0.5f,K0.5f}, {0.5f,K0.5f}, {0.5f,0.5f}, {K0.5f,0.5f} }; // staticconstgluintvertices(sizeofposition/sizeofposition[0]); GPU GLfloat vertices sizeof (GLfloat) 2 vertices GLuintvbo; glgenbuffers(1,&vbo); glbindbuffer(gl_array_buffer,vbo); glbufferdata(gl_array_buffer, sizeof(glfloat)2vertices,position,gl_static_draw); void glgenbuffers(glsizei n, GLuint buffers) n arrays () n void glbindbuffer(glenum target, GLuint buffer) target GL_ARRAY_BUFFER, GL_COPY_READ_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_COPY_WRITE_BUFFER, GL_PIXEL_PACK_BUFFER, 93

33 GL_PIXEL_UNPACK_BUFFER, GL_TEXTURE_BUFFE, GL_UNIFORM_BUFFE, GL_TRANSFORM_FEEDBACK_BUFFER GL_ARRAY_BUFFER array 0 void glbufferdata(glenum target, GLsizeiptr size, const GLvoid data, GLenum usage) () target size GPU data CPU () size 0 GPU usage GL_STREAM_DRAW GL_STREAM_READGL_STREAM_COPYGL_STATIC_DRAWGL_STATIC_READ GL_STATIC_COPY GL_DYNAMIC_DRAW GL_DYNAMIC_READ GL_DYNAMIC_COPY GPU STREAM STATIC DYNAMIC DRAW READ OpenGL (GPU) COPY OpenGL (GPU) 94

34 6.4.2 attribute in attribute in glvertexattribpointer() glenablevertexattribarray() in glvertexattribpointer(0,2,gl_float,gl_false,0,0); glenablevertexattribarray(0); void glvertexattribpointer(gluint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid pointer); attribute index size type glbindattriblocation() attribute (index) pv index 0 0 attribute 1234 (x, y) 2 (x, y, z) 3 2 attribute (pointer ) GL_BYTE GL_UNSIGNED_BYTE GL_SHORT GL_UNSIGNED_SHORT GL_INT GL_UNSIGNED_INTGL_FLOATGL_DOUBLE GLfloat GL_FLOAT normalized stride pointer GL_TRUE type (GL_BYTEGL_UNSIGNED_BYTEGL_SHORT GL_UNSIGNED_SHORTGL_INTGL_UNSIGNED_INT) GL_FALSE GL_FALSE attribute (pointer ) 0 0 attribute 0 int offset static_cast<char >(0) + offset (char )0 + offset 95

35 void glenablevertexattribarray(gluint index) attribute index attribute glbindbuffer(gl_array_buffer,0); glbindvertexarray(0); glgenvertexarray() glvertexattribpointer() glbindbuffer() " // //vertices: //position: staticgluintcreateobject(gluintvertices,constglfloat(position)[2]) { // GLuintvao; glgenvertexarrays(1,&vao); glbindvertexarray(vao); // GLuintvbo; glgenbuffers(1,&vbo); glbindbuffer(gl_array_buffer,vbo); glbufferdata(gl_array_buffer, sizeof(glfloat)2vertices,position,gl_static_draw); //in glvertexattribpointer(0,2,gl_float,gl_false,0,0); glenablevertexattribarray(0); // glbindbuffer(gl_array_buffer,0); glbindvertexarray(0); returnvao; } " createobject() createrectangle() ( Object ) 96

36 // structobject { // GLuintvao; // GLsizeicount; }; createobject() // staticobjectcreaterectangle() { // staticconstglfloatposition[][2]= { {K0.5f,K0.5f}, {0.5f,K0.5f}, {0.5f,0.5f}, {K0.5f,0.5f} }; // staticconstintvertices(sizeofposition/sizeofposition[0]); // Objectobject; object.vao=createobject(vertices,position); object.count=vertices; returnobject; } 6.5 glbindvertexarray() gldrawarrays() ( 76) glbindvertexarray(vao); gldrawarrays(gl_line_loop,0,vertices); void gldrawarrays(glenum mode, GLint first, GLsizei count) mode first count 76 OpenGL 4.0 GL_PATCHES

37 98 76 OpenGL " // //vertices: //position: staticgluintcreateobject(gluintvertices,constglfloat(position)[2]) { } // structobject { }; // staticobjectcreaterectangle() { } GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_TRIANGLES GL_LINES GL_LINE_STRIP GL_POINTS GL_LINE_LOOP GL_TRIANGLE_STRIP_ADJACENCY GL_TRIANGLES_ADJACENCY GL_LINE_STRIP_ADJACENCY GL_LINES_ADJACENCY

38 intmain() { // glclearcolor(1.0f,1.0f,1.0f,0.0f); // constgluintprogram(loadprogram("point.vert","pv","point.frag","fc")); // constobjectobject(createrectangle()); // while(glfwwindowshouldclose(window)==gl_false) { // glclear(gl_color_buffer_bit); // gluseprogram(program); // glbindvertexarray(object.vao); gldrawarrays(gl_line_loop,0,object.count); // glfwswapbuffers(window); // glfwwaitevents(); } } " 77 99

Kageyama (Kobe Univ.) / 36

Kageyama (Kobe Univ.) / 36 DrawArrays DrawElements 05 1 2015.05.19 Kageyama (Kobe Univ.) 2015.05.19 1 / 36 Kageyama (Kobe Univ.) 2015.05.19 2 / 36 Kageyama (Kobe Univ.) 2015.05.19 3 / 36 Web アプリ HTML + CSS + JavaScript + シェーダソースコード

More information

WebGL Safari WebGL WebGL Safari Kageyama (Kobe Univ.) / 5

WebGL Safari WebGL WebGL   Safari Kageyama (Kobe Univ.) / 5 04 1 2015.05.12 Kageyama (Kobe Univ.) 2015.05.12 1 / 55 WebGL Safari WebGL WebGL http://www.khronos.org/webgl/ http://www.khronos.org/webgl/wiki/demo_repository Safari Kageyama (Kobe Univ.) 2015.05.12

More information

WebGL X LR301 Kageyama (Kobe Univ.) Visualization / 45

WebGL X LR301 Kageyama (Kobe Univ.) Visualization / 45 2014.05.13 X021 2014 LR301 Kageyama (Kobe Univ.) Visualization 2014.05.13 1 / 45 Kageyama (Kobe Univ.) Visualization 2014.05.13 2 / 45 Kageyama (Kobe Univ.) Visualization 2014.05.13 3 / 45 Web アプリ HTML

More information

DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization / 34

DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization / 34 WebGL *1 DrawArrays DrawElements 2013.05.14 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.05.14 1 / 34 DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization 2013.05.14 2

More information

第7章 レンダリング

第7章 レンダリング 7 April 11, 2017 1 / 59 7.1 ( ) CG 3 ( ) 2 / 59 7.2 7.2.1 ( ) 3 (rendering) 1 / (hidden line/surface calculation) a (outer normal algorithm) b Z (Z-buffer algorithm) c (scan-line algorithm) 2 (shading)

More information

第7章 レンダリング

第7章 レンダリング 7 May 18, 2012 1 / 60 71 ( ) CG 3 ( ) 2 / 60 72 71 ( ) 3 (rendering) 1 / (hidden line/surface calculation) a (outer normal algorithm) b Z (Z-buffer algorithm) c (scan-line algorithm) 2 (shading) a (flat

More information

WebGL References Kageyama (Kobe Univ.) Visualization 2013.05.07 *4 2 / 54

WebGL References Kageyama (Kobe Univ.) Visualization 2013.05.07 *4 2 / 54 WebGL *1 2013.05.07 *2 *1 X021 2013 LR301 *2 05/08: Kageyama (Kobe Univ.) Visualization 2013.05.07 *3 1 / 54 WebGL References Kageyama (Kobe Univ.) Visualization 2013.05.07 *4 2 / 54 Chrome Firefox http://www.khronos.org/webgl/wiki/demo_repository

More information

libaux.dvi

libaux.dvi AUX OpenGL 1 OpenGL (AUX libaux.a) OpenGL Programming Guide () OpenGL 1 OpenGL OS (API) OS OS OS OpenGL Windows Windows X X OpenGL Programming Guide AUX toolkit AUX OS OpenGL SGI OpenGL OS OpenGL AUX Windows

More information

第3章 OpenGL の基礎

第3章 OpenGL の基礎 3 OpenGL April 20, 2012 1 / 23 31 ( ) OpenGL OpenGL 2 / 23 32 OpenGL OpenGL OpenGL (Open Graphics Library) Silicon Graphics, Inc 2 3 API (Application Program Interface) [4] UNIX OS Windows Macintosh CAD

More information

OpenGL & GLUTの基本関数の説明

OpenGL & GLUTの基本関数の説明 コンピュータグラフィックス S 演習資料 OpenGL & GLUT の基本関数の説明 1. OpenGL & GLUT 2. GLUT 2.1. GLUT void glutinit( int argc, char ** argv ); glut void glutinitdysplaymode( unsigned int mode ); mode void glutinitwindowsize(

More information

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU GPGPU (I) GPU GPGPU 1 GPU(Graphics Processing Unit) GPU GPGPU(General-Purpose computing on GPUs) GPU GPGPU GPU ( PC ) PC PC GPU PC PC GPU GPU 2008 TSUBAME NVIDIA GPU(Tesla S1070) TOP500 29 [1] 2009 AMD

More information

第3章 OpenGL の基礎

第3章 OpenGL の基礎 3 OpenGL April 11, 2017 1 / 28 3.1 ( ) OpenGL OpenGL 2 / 28 3.2 OpenGL OpenGL OpenGL (Open Graphics Library) Silicon Graphics, Inc. 2 3 API (Application Program Interface) [4] UNIX OS Windows Macintosh

More information

_openglcl

_openglcl 0 0 GPU Graphics Processing Unit CG GPU CG CG GPU OpenGL/GLSL CG D CG D CG GPU CG D CG D CG GPU CG GPU GPGPU General-Purpose computing on Graphics Processing Units GPU GPGPU OpenCL OpenCL OpenGL Windows

More information

Microsoft Word - ggbook.docx

Microsoft Word - ggbook.docx 1 1.1 1.1.1 (3DCG) 3D OpenGL GLSL (OpenGL Shading Language) 1.1.2 3D 3DCG 1.1.3 : 0 : 2 : 3 : 4 (): 5 40% 60% 1 1.2 1.2.1 3DCG (CG) CG CG CG () CG 3DCG 1.2.2 3DCG 3DCG 3DCG 3DCG 3DCG CG 3DCG 2 1.2.3 3DCG

More information

Graphics Performance Tuning () Z 2

Graphics Performance Tuning () Z 2 All Titles White, 54 Point, OpenGL Bold Italic, Performance Helvetica Narrow, 2 Point Leading Tuning Nihon Silicon Graphics K.K. Sales Division Graphics Grp Systems Engineer Takehiko Terada 1995/07/20

More information

Presentation

Presentation OpenGL ES Agenda DMP OpenGL ES OpenGL ES 1.1 OpenGL ES 2.0 OpenGL OpenGL OpenGL ES EGL KTX DMP IP OpenGL ES E- PICA200 GPU DMP DMP www.dmprof.com D D JR 2 2002 7 OpenGL ES ULTRAY 2000 Chip (SIGGRAPH 2005)

More information

ゲームグラフィックス特論

ゲームグラフィックス特論 ゲームグラフィックス特論 第 13 回遅延レンダリング 2 Render To Texture テクスチャにレンダリング 3 レンダリング結果を素材として利用する 映り込みや屈折などの光学的効果 1. 視点を変更してレンダリングする 2. レンダリング結果をテクスチャとしてマッピングする このレンダリング結果は直接には画面に表示されない 素材を作成するために画面表示を行わずにレンダリングする オフスクリーンレンダリング

More information

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

WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57 WebGL 2014.04.15 X021 2014 3 1F Kageyama (Kobe Univ.) Visualization 2014.04.15 1 / 57 WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization 2014.04.15 2 / 57 WebGL Kageyama (Kobe Univ.) Visualization 2014.04.15

More information

untitled

untitled 2004/12/21 2/2 (11/16) DT-MRI (11/30) /OpenGL 12/7 12/14 (12/21) 1/11 (1/18) OpenGL ~ ~ OpenGL Silicon Graphics, OpenGL ~ ~ OpenGL OpenGL Utility Library (GLU) OpenGL. OpenGL. OpenGL Utility Toolkit (GLUT)

More information

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

OpenGL GLSL References Kageyama (Kobe Univ.) Visualization / 58 WebGL *1 2013.04.23 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.04.23 1 / 58 OpenGL GLSL References Kageyama (Kobe Univ.) Visualization 2013.04.23 2 / 58 Kageyama (Kobe Univ.) Visualization

More information

2 2 GLUI 2 GLUI 2.1 GLUI GLUI OpenGL OpenGL glut OpenGL glut C++ Linux, Windows (Visual C++, gcc), Macintosh glut glut GUI glut GUI CG glmultmatrix()

2 2 GLUI 2 GLUI 2.1 GLUI GLUI OpenGL OpenGL glut OpenGL glut C++ Linux, Windows (Visual C++, gcc), Macintosh glut glut GUI glut GUI CG glmultmatrix() 1 20 (2) OpenGL+GUI(GLUI) 3DCG TA 2008 10 27 1 OpenGL OpenGL GUI GLUI 1.1 http://www.cyber.t.u-tokyo.ac.jp/~kuni/enshu2008/ 1.2 TA 1.3 2008/12/4( ) EyeToy 2 2 GLUI 2 GLUI 2.1 GLUI GLUI OpenGL OpenGL glut

More information

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

07-二村幸孝・出口大輔.indd GPU Graphics Processing Units HPC High Performance Computing GPU GPGPU General-Purpose computation on GPU CPU GPU GPU *1 Intel Quad-Core Xeon E5472 3.0 GHz 2 6 MB L2 cache 1600 MHz FSB 80 GFlops 1 nvidia

More information

6-1

6-1 6-1 (data type) 6-2 6-3 ML, Haskell, Scala Lisp, Prolog (setq x 123) (+ x 456) (setq x "abc") (+ x 456) ; 6-4 ( ) subtype INDEX is INTEGER range -10..10; type DAY is (MON, TUE, WED, THU, FRI, SAT, SUN);

More information

1 3DCG [2] 3DCG CG 3DCG [3] 3DCG 3 3 API 2 3DCG 3 (1) Saito [4] (a) 1920x1080 (b) 1280x720 (c) 640x360 (d) 320x G-Buffer Decaudin[5] G-Buffer D

1 3DCG [2] 3DCG CG 3DCG [3] 3DCG 3 3 API 2 3DCG 3 (1) Saito [4] (a) 1920x1080 (b) 1280x720 (c) 640x360 (d) 320x G-Buffer Decaudin[5] G-Buffer D 3DCG 1) ( ) 2) 2) 1) 2) Real-Time Line Drawing Using Image Processing and Deforming Process Together in 3DCG Takeshi Okuya 1) Katsuaki Tanaka 2) Shigekazu Sakai 2) 1) Department of Intermedia Art and Science,

More information

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

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 C/C++ 2007 6 18 1 C STL(1) 2 1.1............................................... 2 1.2 stdio................................................ 3 1.3.......................................... 10 2 11 2.1 sizeof......................................

More information

GLFW による OpenGL 入門

GLFW による OpenGL 入門 くんのために一所懸命書いたものの結局 くんの卒業に間に合わなかった GLFW による OpenGL 入門 (draft 版 ) 和歌山大学システム工学部 床井浩平 学校の授業で C 言語や C++ 言語は習ったけど 自分自身で積極的にプログラムを書いてきたっていう経験があまりないという学生さんに どうやって OpenGL を教えたらいいのか悩んだ挙句に このチュートリアルを書きました 私は以前 というか

More information

WebGL Safari WebGL Kageyama (Kobe Univ.) Visualization / 55

WebGL Safari WebGL   Kageyama (Kobe Univ.) Visualization / 55 WebGL WebGL 2014.04.22 X021 2014 Kageyama (Kobe Univ.) Visualization 2014.04.22 1 / 55 WebGL Safari WebGL http://bit.ly/1qxgljb Kageyama (Kobe Univ.) Visualization 2014.04.22 2 / 55 Kageyama (Kobe Univ.)

More information

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t 1 22 (2) OpenGL+GUI(GLUI) 3DCG TA 2010 10 18 1 OpenGL OpenGL GUI GLUI 1.1 http://www.cyber.t.u-tokyo.ac.jp/~kuni/enshu2010/ 1.2 TA 1.3 2010/12/6( ) USB 2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height

More information

void hash1_init(int *array) int i; for (i = 0; i < HASHSIZE; i++) array[i] = EMPTY; /* i EMPTY */ void hash1_insert(int *array, int n) if (n < 0 n >=

void hash1_init(int *array) int i; for (i = 0; i < HASHSIZE; i++) array[i] = EMPTY; /* i EMPTY */ void hash1_insert(int *array, int n) if (n < 0 n >= II 14 2018 7 26 : : proen@mm.ics.saitama-u.ac.jp 14,, 8 2 12:00 1 O(1) n O(n) O(log n) O(1) 32 : 1G int 4 250 M 2.5 int 21 2 0 100 0 100 #include #define HASHSIZE 100 /* */ #define NOTFOUND 0

More information

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」 ALTIMA Company, MACNICA, Inc Nios II HAL API Modular Scatter-Gather DMA Core Ver.17.1 2018 8 Rev.1 Nios II HAL API Modular Scatter-Gather DMA Core...3...3...4... 4... 5 3-2-1. msgdma... 6 3-2-2. On-Chip

More information

/ SCHEDULE /06/07(Tue) / Basic of Programming /06/09(Thu) / Fundamental structures /06/14(Tue) / Memory Management /06/1

/ SCHEDULE /06/07(Tue) / Basic of Programming /06/09(Thu) / Fundamental structures /06/14(Tue) / Memory Management /06/1 I117 II I117 PROGRAMMING PRACTICE II 2 MEMORY MANAGEMENT 2 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of Programming

More information

19_OpenGLES.key

19_OpenGLES.key CS193P - Lecture 19 iphone Application Development OpenGL ES 1 Announcements Final projects due in 7 days Tuesday, March 16th 11:59 pm Submit: Code Power-point/Keynote slides ReadMe file Final project

More information

Presentation

Presentation OpenGL ES Agenda DMP DMP IP OpenGL ES OpenGL ES 1.1 OpenGL ES 2.0 OpenGL OpenGL OpenGL ES EGL KTX OpenGL ES E- PICA200 GPU DMP DMP www.dmprof.com D D JR 2 2002 7 OpenGL ES ULTRAY 2000 Chip (SIGGRAPH 2005)

More information

C V C 6 1 6.1.............................. 1 6.......................... 3 6.3..................... 5 6.4 NULL............................. 8 6.5......................... 9 6.6..............................

More information

ARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................

More information

コンピュータグラフィクス論

コンピュータグラフィクス論 コンピュータグラフィクス論 2015 年 4 月 9 日 高山健志 教員紹介 高山健志 ( 国立情報学研究所特任助教 ) http://research.nii.ac.jp/~takayama/ takayama@nii.ac.jp 蜂須賀恵也 ( 創造情報学専攻講師 ) http://www.ci.i.u-tokyo.ac.jp/~hachisuka/ thachisuka@siggraph.org

More information

Quartus II ハンドブック Volume 5、セクションIV. マルチプロセッサの調整

Quartus II ハンドブック  Volume 5、セクションIV. マルチプロセッサの調整 IV. SOPC Builder Nios II 9 Avalon Mutex 10 Avalon Mailbox 9 10 / 9 v5.1.0 2005 5 v5.0.0 Nios II 2004 12 v1.0 10 v5.1.0 2005 5 v5.0.0 Altera Corporation IV 1 Quartus II Volume 5 IV 2 Altera Corporation

More information

(4) モデルの消去 mqodeletemodel( model ); (5) 終了処理 ( プログラム終了時にやってください ) mqocleanup(); 3. 使い方 (2) 連番ファイルを読み込んで表示する場合 (1) 初期化 (ARToolKit の場合,argInit() の後に使用 )

(4) モデルの消去 mqodeletemodel( model ); (5) 終了処理 ( プログラム終了時にやってください ) mqocleanup(); 3. 使い方 (2) 連番ファイルを読み込んで表示する場合 (1) 初期化 (ARToolKit の場合,argInit() の後に使用 ) GLMetaseq.h の中身 0810960080 渡部修平 メタセコイアで作成した 3D モデルを OpenGL で表示させるためには, 工学ナビ (http://kougaku-navi.net/artoolkit.html) が公開している C/C++ 用のライブラリ GLMetaseq があります 作成しているプログラムのプロジェクトに GLMetaseq.h と GLMetaseq.c

More information

コンピュータグラフィクス論

コンピュータグラフィクス論 コンピュータグラフィクス論 2016 年 4 月 7 日 高山健志 教員紹介 高山健志 ( 国立情報学研究所特任助教 ) http://research.nii.ac.jp/~takayama/ takayama@nii.ac.jp 蜂須賀恵也 ( 創造情報学専攻講師 ) http://www.ci.i.u-tokyo.ac.jp/~hachisuka/ thachisuka@siggraph.org

More information

WebGL Kageyama (Kobe Univ.) Visualization / 39

WebGL Kageyama (Kobe Univ.) Visualization / 39 WebGL *1 WebGL 2013.04.30 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.04.30 1 / 39 WebGL Kageyama (Kobe Univ.) Visualization 2013.04.30 2 / 39 3 1 PC ID Kageyama (Kobe Univ.) Visualization

More information

O(N) ( ) log 2 N

O(N) ( ) log 2 N 2005 11 21 1 1.1 2 O(N) () log 2 N 1.2 2 1 List 3-1 List 3-3 List 3-4? 3 3.1 3.1.1 List 2-1(p.70) 1 1 10 1 3.1.2 List 3-1(p.70-71) 1 1 2 1 2 2 1: 1 3 3.1.3 1 List 3-1(p.70-71) 2 #include stdlib.h

More information

Fair Curve and Surface Design System Using Tangent Control

Fair Curve and Surface Design System Using Tangent Control 情報工学 2016 年度後期第 6 回 [11 月 16 日 ] 静岡大学工学研究科機械工学専攻ロボット 計測情報講座創造科学技術大学院情報科学専攻 三浦憲二郎 講義アウトライン [11 月 16 日 ] ビジュアル情報処理 3 モデリング 3.3 曲線 曲面 OpenGL 色の取り扱い シェーディング 照明モデルと照光処理 拡散光 鏡面光 環境光 ビジュアル情報処理 3-3 曲線 曲面 3-3-1

More information

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft PowerPoint - GPU_computing_2013_01.pptx GPU コンピューティン No.1 導入 東京工業大学 学術国際情報センター 青木尊之 1 GPU とは 2 GPGPU (General-purpose computing on graphics processing units) GPU を画像処理以外の一般的計算に使う GPU の魅力 高性能 : ハイエンド GPU はピーク 4 TFLOPS 超 手軽さ : 普通の PC にも装着できる 低価格

More information

iphone GPGPU GPU OpenCL Mac OS X Snow LeopardOpenCL iphone OpenCL OpenCL NVIDIA GPU CUDA GPU GPU GPU 15 GPU GPU CPU GPU iii OpenMP MPI CPU OpenCL CUDA OpenCL CPU OpenCL GPU NVIDIA Fermi GPU Fermi GPU GPU

More information

WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37

WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37 WebGL *1 DOM API 2013.05.21 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.05.21 1 / 37 WebGL WebGL DOM References Kageyama (Kobe Univ.) Visualization 2013.05.21 2 / 37 WebGL WebGL Kageyama

More information

GLFW による OpenGL 入門

GLFW による OpenGL 入門 くんのために 一 所 懸 命 書 いたものの 結 局 くんの 卒 業 に 間 に 合 わなかった GLFW による OpenGL 入 門 目 次 第 1 章 はじめに... 1 1.1 本 書 の 目 的... 1 1.2 OpenGL... 2 1.3 GLFW... 3 1.3.1 ツールキット... 3 1.3.2 GLFW の 概 要... 4 1.3.3 GLFW の 特 徴... 4 第

More information

(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

(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 Handy Graphic for Handy Graphic Version 0.5 2008-06-09 1 Handy Graphic Handy Graphic C Handy Graphic Handy Graphic Mac OS X Handy Graphic HgDisplayer Handy Graphic HgDisplayer 2 Handy Graphic 1 Handy Graphic

More information

programmingII2019-v01

programmingII2019-v01 II 2019 2Q A 6/11 6/18 6/25 7/2 7/9 7/16 7/23 B 6/12 6/19 6/24 7/3 7/10 7/17 7/24 x = 0 dv(t) dt = g Z t2 t 1 dv(t) dt dt = Z t2 t 1 gdt g v(t 2 ) = v(t 1 ) + g(t 2 t 1 ) v v(t) x g(t 2 t 1 ) t 1 t 2

More information

untitled

untitled RADEON X1900 G5 MAC EDITION P/N 137-41057-10 ATI ii Copyright 2006, ATI Technologies Inc. All rights reserved. ATI ATI ATI ATI Technologies Inc. ATI Technologies Inc. ATI Technologies Inc. ATI Technologies

More information

i GPU GPU GPU GPU CPU Radeon X800 Pro 3.2 α

i GPU GPU GPU GPU CPU Radeon X800 Pro 3.2 α GPU 18 2 3 i GPU GPU GPU GPU CPU Radeon X800 Pro 3.2 α Studies on the Speedup of Volume Rendering with Commodity GPUs Abstract ii Yuki SHINOMOTO A slice-order texture-based algorithm for volume rendering

More information

joho07-1.ppt

joho07-1.ppt 0xbffffc5c 0xbffffc60 xxxxxxxx xxxxxxxx 00001010 00000000 00000000 00000000 01100011 00000000 00000000 00000000 xxxxxxxx x y 2 func1 func2 double func1(double y) { y = y + 5.0; return y; } double func2(double*

More information

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 - > - > - > - >

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 - > - > - > - > 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 - > - > - > - > 8 (240 O p e n C V ) 9 opencv_core240d.lib 10 opencv_imgproc240d.lib

More information

Kageyama (Kobe Univ.) 2015.06.23 2 / 41

Kageyama (Kobe Univ.) 2015.06.23 2 / 41 2015 2015.06.23 Kageyama (Kobe Univ.) 2015.06.23 1 / 41 Kageyama (Kobe Univ.) 2015.06.23 2 / 41 [ 1, +1] [ 1, +1] [ 1, +1] Kageyama (Kobe Univ.) 2015.06.23 3 / 41 Kageyama (Kobe Univ.) 2015.06.23 4 / 41

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

double float

double float 2015 3 13 1 2 2 3 2.1.......................... 3 2.2............................. 3 3 4 3.1............................... 4 3.2 double float......................... 5 3.3 main.......................

More information

DiMP Users Manual Yuichi Tazaki

DiMP Users Manual Yuichi Tazaki DiMP Users Manual Yuichi Tazaki 3 1 5 2 7 2.1............................. 7 2.2........................... 7 3 DiMP 9 3.1............................... 9 3.2........................... 10 3.3...................................

More information

netcdf

netcdf 1. Anetcdf.rb netcdf C ruby open new create NetCDF C filename String NetCDF NetCDF_open mode r r, w share false true or false open open netcdf filename String NetCDF NetCDF_create noclobber false true

More information

IPSJ SIG Technical Report iphone iphone,,., OpenGl ES 2.0 GLSL(OpenGL Shading Language), iphone GPGPU(General-Purpose Computing on Graphics Proc

IPSJ SIG Technical Report iphone iphone,,., OpenGl ES 2.0 GLSL(OpenGL Shading Language), iphone GPGPU(General-Purpose Computing on Graphics Proc iphone 1 1 1 iphone,,., OpenGl ES 2.0 GLSL(OpenGL Shading Language), iphone GPGPU(General-Purpose Computing on Graphics Processing Unit)., AR Realtime Natural Feature Tracking Library for iphone Makoto

More information

main.dvi

main.dvi PC 1 1 [1][2] [3][4] ( ) GPU(Graphics Processing Unit) GPU PC GPU PC ( 2 GPU ) GPU Harris Corner Detector[5] CPU ( ) ( ) CPU GPU 2 3 GPU 4 5 6 7 1 toyohiro@isc.kyutech.ac.jp 45 2 ( ) CPU ( ) ( ) () 2.1

More information

3D グラフィックス処理の一般過程 1. 3D グラフィックス処理の一般過程

3D グラフィックス処理の一般過程 1. 3D グラフィックス処理の一般過程 3. 3D ビューイング 1. 3Dグラフィックス処理の一般過程 2. 射影と射影変換 3. ビューボリュームとクリッピング 4. 陰面処理とデプスバッファ 5. ビューポート変換 6. 3Dグラフィックスを描く 7. モデルビュー変換 3D グラフィックス処理の一般過程 1. 3D グラフィックス処理の一般過程 3D グラフィックス処理の一般過程 1. モデリング変換 座標系の異なる複数のオブジェクトを仮想世界に配置し,

More information

Java演習(4) -- 変数と型 --

Java演習(4)   -- 変数と型 -- 50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends

More information

r03.dvi

r03.dvi 19 ( ) 019.4.0 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void... argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0 a a \0 b b b \0 c c c \0 1: // argdemo1.c ---

More information

GLS user s reference 19 8 21 1 3 1.1....................................................... 3 1.2....................................................... 3 1.3.......................................................

More information

FreeBSD 1

FreeBSD 1 FreeBSD 1 UNIX OS 1 ( ) open, close, read, write, ioctl (cdevsw) OS DMA 2 (8 ) (24 ) 256 open/close/read/write Ioctl 3 2 2 I/O I/O CPU 4 open/close/read/write open, read, write open/close read/write /dev

More information

opengl #opengl

opengl #opengl opengl #opengl 1 1: OpenGL 2 2 2 Examples 3 OpenGL 3 Linux 3 3 WindowsOpenGL 4 OpenGLWindows 4 WGL 4 GDI 4 4 4 6 6 OpenGL 7 8 OpenGL 8 OpenGL 9 9 C ++CocoaOpenGL 4.1 14 OpenGLSDL2 22 MacOSOpenGL 4.1XcodeGLFWGLEW

More information

(search: ) [1] ( ) 2 (linear search) (sequential search) 1

(search: ) [1] ( ) 2 (linear search) (sequential search) 1 2005 11 14 1 1.1 2 1.2 (search:) [1] () 2 (linear search) (sequential search) 1 2.1 2.1.1 List 2-1(p.37) 1 1 13 n

More information

1 1.1 (VR) [1] * * /3/5 1

1 1.1 (VR) [1] * * /3/5 1 2013 Immersive Interaction VR E-mail: vr.neuro.lab@gmail.com 2014 3 5 1 1.1 (VR) 1.2 1.3 [1] *1 1.3.1 *1 http://www.keio.ac.jp/ja/press_release/2007/kr7a43000000a9k2-att/071011.pdf 2014/3/5 1 1.3.2 *2

More information

ohp03.dvi

ohp03.dvi 19 3 ( ) 2019.4.20 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void int main(int argc, char *argv[]) {... 2 (2) argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0

More information

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

大統一Debian勉強会 gdb+python拡張を使ったデバッグ手法 Debian 2013 gdb+python nozzy@debian.or.jp 2013 6 29 Level Debian Up Debian Debian debian sid unstable Debian debian sid unstable *-dbg Debian debian sid unstable *-dbg gdb Debian debian sid unstable *-dbg

More information

2008 IIA (program) pro(before)+gram(write) (artificial language) (programming languege) (programming) (machine language) (assembly language) ( )

2008 IIA (program) pro(before)+gram(write) (artificial language) (programming languege) (programming) (machine language) (assembly language) ( ) 2008 IIA 1 1.1 (program) pro(before)+gram(write) (artificial language) (programming languege) (programming) (machine language) (assembly language) () (high-level language) 3 (machine language) (CPU) 0

More information

strtok-count.eps

strtok-count.eps IoT FPGA 2016/12/1 IoT FPGA 200MHz 32 ASCII PCI Express FPGA OpenCL (Volvox) Volvox CPU 10 1 IoT (Internet of Things) 2020 208 [1] IoT IoT HTTP JSON ( Python Ruby) IoT IoT IoT (Hadoop [2] ) AI (Artificial

More information

thesis.dvi

thesis.dvi H8 e041220 2009 2 Copyright c 2009 by Kentarou Nagashima c 2009 Kentarou Nagashima All rights reserved , H8.,,,..,.,., AKI-H8/3052LAN. OS. OS H8 Write Turbo. H8 C, Cygwin.,., windows. UDP., (TA7279P).,.

More information

‚æ4›ñ

‚æ4›ñ ( ) ( ) ( ) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 (OUS) 9 26 1 / 28 ( ) ( ) ( ) A B C D Z a b c d z 0 1 2 9 (OUS) 9

More information

Adobe Postscript 3 Expansion Unit

Adobe Postscript 3 Expansion Unit 3 ... 4... 4... 4... 4... 4 OS... 4 PDF... 5... 6... 6... 6... 6... 6... 7... 7... 8... 18... 18... 18 PDF... 18 PS... 18... 18 /... 18... 18... 18... 18... 19... 19 PS... 19... 19... 19 Q&A... 19... 19...

More information

ストラドプロシージャの呼び出し方

ストラドプロシージャの呼び出し方 Release10.5 Oracle DataServer Informix MS SQL NXJ SQL JDBC Java JDBC NXJ : NXJ JDBC / NXJ EXEC SQL [USING CONNECTION ] CALL [.][.] ([])

More information

1.ppt

1.ppt /* * Program name: hello.c */ #include int main() { printf( hello, world\n ); return 0; /* * Program name: Hello.java */ import java.io.*; class Hello { public static void main(string[] arg)

More information

1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU.....

1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU..... CPU GPU N Q07-065 2011 2 17 1 1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU...........................................

More information

mstrcpy char *mstrcpy(const char *src); mstrcpy malloc (main free ) stdio.h fgets char *fgets(char *s, int size, FILE *stream); s size ( )

mstrcpy char *mstrcpy(const char *src); mstrcpy malloc (main free ) stdio.h fgets char *fgets(char *s, int size, FILE *stream); s size ( ) 2008 3 10 1 mstrcpy char *mstrcpy(const char *src); mstrcpy malloc (main free ) stdio.h fgets char *fgets(char *s, int size, FILE *stream); s size ( ) stream FILE ( man ) 40 ( ) %./a.out String : test

More information

program.dvi

program.dvi 2001.06.19 1 programming semi ver.1.0 2001.06.19 1 GA SA 2 A 2.1 valuename = value value name = valuename # ; Fig. 1 #-----GA parameter popsize = 200 mutation rate = 0.01 crossover rate = 1.0 generation

More information

CudaWaveField

CudaWaveField CudaWaveField 2012 3 22 2 CudaWaveField Rel 1.0.0 Rel 1.0 CudaWaveField ( cwfl) / cwfl cwfl http://www.laser.ee.kansai-u.ac.jp/wavefieldtools Note Acrobat Reader 3 I CudaWaveField 9 1 11 1.1 CudaWaveField......................

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

OOCOBOL紹介

OOCOBOL紹介 ISO ANSI COBOL85 COBOL 1959 COBOL OOCOBOL 1 ... 1... 3.... 3. OOCOBOL... 4.1.... 4.2.... 5.3. IDENTIFICATION DIVISION... 7.4. ENVIRONMENT DIVISION.... 7.5. DATA DIVISION... 7.6. PROCEDURE DIVISION....

More information

untitled

untitled 1. 2. 3. 4. 5. 6. 7. Intelligent Electronic Systems Group 4 PC bitmap.bmp (255,0,0)"" p8-2forint.c or p8-2formot.cdl (printf) (R,G,B)=(127,127,0) (R,G,B)=(255,127,0) viewer bitmap.bmp 1616 24bit (R,G,B)

More information

謗域・ュ逕ィppt

謗域・ュ逕ィppt 情報工学 2017 年度後期第 5 回 [11 月 1 日 ] 静岡大学 工学研究科機械工学専攻ロボット 計測情報講座創造科学技術大学院情報科学専攻 三浦憲二郎 講義日程 第 6 回 11 月 8 日画像処理パート第 1 回 第 7 回 11 月 15 日 CGパート第 6 回 第 8 回 11 月 22 日 CGパート第 7 回 第 9 回 11 月 29 日 CGパート試験 講義アウトライン [11

More information

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 <<

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++ C C++ 1 C++ C++ C C++ C C++? C C++ C *.c *.cpp C cpp VC C++ 2 C++ C++ C++ [1], C++,,1999 [2],,,2001 [3], ( )( ),,2001 [4] B.W. /D.M.,, C,,1989 C Web [5], http://kumei.ne.jp/c_lang/ 3 Hello World Hello

More information

( ) 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>

( ) 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> 2007 12 5 1 2 2.1 ( ) 1 1: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 #define H WIN 400 // 8 #define W WIN 300 // 9

More information

- - http://168iroha.net 018 10 14 i 1 1 1.1.................................................... 1 1.................................................... 7.1................................................

More information

OpenGL Programming Course OpenGL Programming Course FAQ

OpenGL Programming Course OpenGL Programming Course FAQ OpenGL NK EXA Corporation OpenGL@dst.nk-exa.co.jp OpenGL@dst.nk-exa.co.jp OpenGL FAQ (http://www.nk-exa.co.jp/mmtech/opengledu/faq.shtml) i 1 OpenGL 1{1 1.1 OpenGL : : : : : : : : : : : : : : : : : : :

More information

64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved

64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved (Version: 2013/5/16) Intel CPU (kashi@waseda.jp) 1 Intel CPU( AMD CPU) 64bit SIMD Inline Assemler Windows Visual C++ Linux gcc 2 FPU SSE2 Intel CPU double 8087 FPU (floating point number processing unit)

More information

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t 1 24 (2) 3DCG TA 2012 10 12 1 OpenGL USB (3DCG) OpenCV 1.1 http://www.cyber.t.u-tokyo.ac.jp/~tani/class/mech_enshu/ 1.2 TA 1.3 USB (2012/11/19( ),20( )) USB 2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width

More information

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20

More information

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flow

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) flow Java (5) 1 Lesson 3: 2008-05-20 2 x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java 1.1 10 10 0 1.0 2.0, 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flowrate.dat" 10 8 6 4 2 0 0 5 10 15 20 25 time (s) 1 1

More information

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

新・明解C言語 ポインタ完全攻略 2 1-1 1-1 /* 1-1 */ 1 int n = 100; int *p = &n; printf(" n %d\n", n); /* n int */ printf("*&n %d\n", *&n); /* *&n int */ printf(" p %p\n", p); /* p int * */ printf("&*p %p\n", &*p); /* &*p int * */ printf("sizeof(n)

More information

2008 DS T050049

2008 DS T050049 DS T050049. PSP DS DS DS RPG DS OS Windows XP DevkiPro OS DS CPU ARM devkitarm MSYS MinGW MSYS MinGW Unix OS C++ C++ make nds nds DS DS micro SD Card nds DS DS DS nds C Java C++ nds nds DS 2008 DS T050049

More information

C B

C B C 095707B 2010 6 8 1 LEVE1 2 1.1 LEVEL 1.1................................................ 2 1.1.1 1................................................ 2 1.1.2 1.2..............................................

More information

HABOC manual

HABOC manual HABOC manual Version 2.0 takada@cr.scphys.kyoto-u.ac.jp HABOC とは Event by event 解析用の Framework C++ による coding ANL や FULL の C++ 版を目標 ANL/FULL は Object Oriented な設計概念なので C++ と相性が良い Histogram や視覚化には ROOT(http://root.cern.ch)

More information