슬라이드 제목 없음

Size: px
Start display at page:

Download "슬라이드 제목 없음"

Transcription

1 Shader Programming on GPU (Cg: C for graphics) 2008 년도 1 학기 서강대학교공과대학컴퓨터공학과 임인성교수 Professor Insung Ihm Dept. of Computer Sci. & Eng. Sogang University, Seoul, Korea (c)2008 서강대학교컴퓨터공학과임인성 (Insung Ihm) 2008 학년도 1 학기 1

2 Cg (C for graphics) Introduction C-like high-level shading language for GPUs API- and platform-independent Courtesy of M. Kilgard 2

3 Cg 1.4 Cg Toolkit User s Manual: A Developer s Guide to Programmable Graphics (Release 1.4, September 2005) Cg s Programming Model for GPU GPUs consist of programmable processors and other non-programmable units. Programmable processors Vertex processor Pixel processor Geometry processor (Cg 2.0) 3

4 Cg Language Profile Unlike CPUs, GPU programmability has not quite yet reached the same level of generality. Cg uses the concept of language profile that defines a subset of the full Cg language that is supported on a particular hardware platform of API. - Cg 2.0 4

5 Program Inputs and Outputs Recall that GPU is a (massively parallel) streaming processor! How to specify the input and output data of each shader program vertex stream VS primitive stream GS (Cg 2.0) primitive stream Rasterization pixel stream PS pixel stream FB Varying inputs versus uniform inputs Varying inputs Used for data that is specified with each element of the stream of input data. Uniform inputs Used for values that are specified separately from the main stream of input data, and don t change with each stream element. varying uniform 5

6 What kind of attributes are associated with a stream element? Example: vertex (arbvp1) Vertex Shader All vertex programs must declare and set a vector output that uses the POSITION binding semantic. 6

7 Example: pixel (arbfp1) Pixel Shader 7

8 Interoperability between vertex programs and fragment programs COLOR0 COLOR0 COLOR0 COLOR0 Varying outputs from a Vertex Program Rasterization The value associated with the POSITION binding semantic may not be read in the fragment program (no more true in G80). Varying inputs to Fragment Programs 8

9 What Cg shader codes look like? // This is C5E2v_fragmentLighting from "The Cg Tutorial // (Addison-Wesley, ISBN ) by Randima Fernando // and Mark J. Kilgard. See page 124. // vertex.cg void C5E2v_fragmentLighting(float4 position : POSITION, vector type float3 normal : NORMAL, out float4 oposition : POSITION, out float3 objectpos : TEXCOORD0, out float3 onormal : TEXCOORD1, uniform float4x4 modelviewproj) { oposition = mul(modelviewproj, position); objectpos = position.xyz; onormal = normal; // fragment.cg void C5E3f_basicLight(float4 position : TEXCOORD0, float3 normal out float4 color : TEXCOORD1, : COLOR, uniform float3 globalambient, uniform float3 lightcolor, uniform float3 lightposition, uniform float3 eyeposition, uniform float3 Ke, uniform float3 Ka, uniform float3 Kd, swizzle operator matrix type control flow: if/else, while, for, return uniform float3 Ks, uniform float shininess) { float3 P = position.xyz; float3 N = normalize(normal); scalar type // Compute emissive term float3 emissive = Ke; // Compute ambient term float3 ambient = Ka * globalambient; Cg standard lib. Ftn. // Compute the diffuse term float3 L = normalize(lightposition - P); float diffuselight = max(dot(l, N), 0); float3 diffuse = Kd * lightcolor * diffuselight; // Compute the specular term float3 V = normalize(eyeposition - P); float3 H = normalize(l + V); float specularlight = pow(max(dot(h, N), 0), shininess); if (diffuselight <= 0) specularlight = 0; float3 specular = Ks * lightcolor * specularlight; color.xyz = emissive + ambient + diffuse + specular; color.w = 1; write mask operator 9

10 A Phong Shading Example in Cg 이예제프로그램에서는 Vertex program 꼭지점의좌표를 OC 에서 CC 로기하변환을하고 (POSITION), EC 에서의꼭지점좌표와법선벡터를텍스춰좌표를위핚두레지스터에넣어보냄 (TEXCOORD0, TEXCOORD1). Fragment program 입력으로래스터화과정에서보간을통하여얻어진해당픽셀을통하여보이는물체지점에대핚 EC 좌표와법선벡터를받아들여, EC 를기준으로주어진광원정보및물질정보를사용하여퐁의조명모델계산을수행. Cg Toolkit User s Manual: A Developer s Guide to Programmable Graphics, Release 1.4.1, NVIDIA, March Cg Toolkit Reference Manual: A Developer s Guide to Programmable Graphics, Release 1.4.1, NVIDIA, March The Cg Tutorial: The Definitive Guide to Programmable Real- Time Graphics, R. Fernando et al., NVIDIA,

11 The OpenGL Part Profile: arbvp1, arbfp1 이상, 또는 vp40, fp40 이상 static CGcontext Context; Coded by 김원태, updated by 손성진 static void CheckCgError(void) { CGerror err = cggeterror(); if (err!= CG_NO_ERROR) { printf("\n%s\n", cggeterrorstring(err)); printf("%s\n", cggetlastlisting(context)); exit(1); void init_cg(void) { printf("creating context..."); Context = cgcreatecontext(); cgseterrorcallback(checkcgerror); printf("completed.\n"); printf("compiling vertex program..."); VertexProgram = cgcreateprogramfromfile(context, CG_SOURCE, "vp.cg", VertexProfile, NULL, NULL); printf("completed.\n"); printf("compiling fragment program..."); FragmentProgram = cgcreateprogramfromfile(context, CG_SOURCE, "fp.cg", FragmentProfile, NULL, NULL); printf("completed.\n"); Create a Cg context that all shaders will use. Do this after OpenGL is initialized. static CGprogram VertexProgram, FragmentProgram; Compile a Cg program by adding it to a context. static CGprofile VertexProfile = CG_PROFILE_VP40; static CGprofile FragmentProfile = CG_PROFILE_FP40; A Cg profile indicates a subset of the full Cg language that is supported on a particular hardware platform or API. VertexProfile = cgglgetlatestprofile(cg_gl_vertex); cgglsetoptimaloptions(vertexprofile); CheckCGError(); Get the best available vertex profile for the current OpenGL rendering context. Ask the compiler to optimize for the specific HW underlying the OpenGL rendering context. 11

12 /* Get parameters */ NormalFlag = cggetnamedparameter(fragmentprogram, "nv_flag"); cgglsetparameter1f(normalflag, nv_flag); printf( Completed. \n ); /* Create the vertex & fragment programs */ printf("loading Cg program..."); cgglloadprogram(vertexprogram); cgglloadprogram(fragmentprogram); printf("completed.\n"); cgglenableprofile(vertexprofile); cgglenableprofile(fragmentprofile); Retrieve a parameter of a shader directly by name. Get a handle to the parameter in this way. static Cgparameter NormalFlag; Set the value of scalar and vector parameters. Pass the compiled object codes by loading the shaders. Enable the shaders before executing a program in OpenGL. cgglbindprogram(vertexprogram); cgglbindprogram(fragmentprogram); Bind the shaders to the current state. 12

13 void exit_program(void) { cgdestroyprogram(vertexprogram); cgdestroyprogram(fragmentprogram); cgdestroycontext(context); exit(1); Free all resources allocated for the shaders. Free all resources allocated for the context. void draw_object(void) { int i, j, loop; MyPolygon *ptr; glpushmatrix(); glrotatef(angle, 0.0, 1.0, 0.0); glrotatef(xrot, 0.0, 1.0, 0.0); glrotatef(yrot, 1.0, 0.0, 0.0); if(draw_flag!= COW) { gltranslatef(0.0, -1.0, 0.0); glrotatef(-90.0, 1.0, 0.0, 0.0); i = 0; while(i++ < loop) { glbegin(gl_polygon); for (j = 0; j < ptr->nvertex; j++) { glnormal3fv(ptr->normal[j]); glvertex3fv(ptr->vertex[j]); glend(); ptr++; glpopmatrix(); 13

14 Cg Vertex Shader struct _output { float4 position: POSITION; float4 pec: TEXCOORD0; float3 nec: TEXCOORD1; ; A vector type with x, y, z, and w fields Set by glvertex*(); Set by glnormal*(); MAD R4, R1, R2, R3; R4 R1 R2 R <- * A 4x4 matrix type with 16 elements _output main(float4 position: POSITION, float4 normal: NORMAL, uniform float4x4 ModelViewProj : state.matrix.mvp, uniform float4x4 ModelView : state.matrix.modelview, uniform float4x4 ModelViewIT : state.matrix.modelview.invtrans) { _output OUT; OUT.position = mul(modelviewproj, position); OUT.pEC = mul(modelview, position); OUT.nEC = mul(modelviewit, normal).xyz; // to CC // normal on EC // position on EC return OUT; A Cg standard library function 14

15 Binding Semantics for arbvp1 vertex program Profile Vertex Shader 15

16 Cg Standard Library Functions mul(x,y) 16

17 Cg Pixel Shader struct _output { float3 color: COLOR; ; _output main(float4 position: TEXCOORD0, // position on EC float3 normal: TEXCOORD1, // normal on EC uniform int nv_flag, uniform float4 global_ambient : state.lightmodel.ambient, uniform float4 light_position : state.light[0].position, uniform float4 light_ambient : state.light[0].ambient, uniform float4 light_diffuse : state.light[0].diffuse, uniform float4 light_specular : state.light[0].specular, void set_material (void) { glmaterialfv(gl_front, GL_AMBIENT, mat_ambient); gllightmodelfv(gl_light_model_ambient, global_ambient); glmaterialfv(gl_front, GL_DIFFUSE, mat_diffuse); glmaterialfv(gl_front, GL_SPECULAR, mat_specular); glmaterialf(gl_front, GL_SHININESS, mat_shininess); void set_light (void) { gllightfv(gl_light0, GL_POSITION, light_position); gllightfv(gl_light0, GL_AMBIENT, light_ambient_color); gllightfv(gl_light0, GL_DIFFUSE, light_diff_spec_color); gllightfv(gl_light0, GL_SPECULAR, light_diff_spec_color); gllightmodeli(gl_light_model_local_viewer, GL_TRUE); uniform float4 mat_ambient : state.material.ambient, uniform float4 mat_diffuse : state.material.diffuse, uniform float4 mat_specular : state.material.specular, uniform float mat_shininess : state.material.shininess) { _output OUT; if (nv_flag == 1) { OUT.color = normal; else { OUT.color = global_ambient * mat_ambient; float3 N = normalize(normal); float3 L = normalize(light_position position); float NdotL = dot(n, L); 17

18 if(ndotl >= 0.0) { OUT.color += mat_ambient * light_ambient; float3 V = normalize(-position); float3 H = normalize(l + V); float NdotH = dot(n, H); float4 lighting = lit(ndotl, NdotH, mat_shininess); float3 diffuse = mat_diffuse * lighting.y; float3 specular = mat_specular * lighting.z; OUT.color += (light_diffuse * diffuse) + (light_specular*specular); return OUT; 18

19 Binding Semantics for arbfp1 fragment program Profile Pixel Shader 19

20 Cg Standard Library Functions dot(a,b) normalize(v) lit(ndot1, ndoth, m) 20

21 A Simple Texture Mapping Example in Cg Vertex Shader struct _output { float4 position: POSITION; float2 texcoord: TEXCOORD0; float4 pec: TEXCOORD1; float3 nec: TEXCOORD2; ; _output main(float4 position: POSITION, float4 normal: NORMAL, float2 texcoord: TEXCOORD0, uniform float4x4 ModelViewProj : state.matrix.mvp, uniform float4x4 ModelView : state.matrix.modelview, uniform float4x4 ModelViewIT : state.matrix.modelview.invtrans){ _output OUT; OUT.position = mul(modelviewproj, position); // to CC OUT.pEC = mul(modelview, position); // position on EC OUT.nEC = mul(modelviewit, normal).xyz; // normal on EC OUT.texcoord = texcoord; return OUT; 21

22 Pixel Shader struct _output { float3 color: COLOR; ; _output main(float2 texcoord: TEXCOORD0, float4 position: TEXCOORD1, // position on EC float3 normal: TEXCOORD2, // normal on EC uniform sampler2d decal, uniform int tex_flag, uniform float4 global_ambient : state.lightmodel.ambient, uniform float4 light_position: state.light[0].position, uniform float4 light_ambient : state.light[0].ambient, uniform float4 light_diffuse : state.light[0].diffuse, uniform float4 light_specular: state.light[0].specular, uniform float4 mat_ambient : state.material.ambient, uniform float4 mat_diffuse : state.material.diffuse, uniform float4 mat_specular : state.material.specular, uniform float mat_shininess : state.material.shininess) { _output OUT; OUT.color = global_ambient * mat_ambient; float3 N = normalize(normal); float3 L = normalize(light_position position); float NdotL = dot(n, L); 22

23 if(ndotl >= 0.0) { OUT.color += mat_ambient * light_ambient; float3 V = normalize(-position); float3 H = normalize(l + V); float NdotH = dot(n, H); float4 lighting = lit(ndotl, NdotH, mat_shininess); float3 diffuse = mat_diffuse * lighting.y; float3 specular = mat_specular * lighting.z; OUT.color += light_diff * diffuse; if (tex_flag == 1) { float3 decalcolor = tex2d(decal, texcoord); OUT.color *= decalcolor; // 'GL_MODULATE' part OUT.color += light_specular * specular; return OUT; // During init_opengl void set_textures(void) { read_texture(); glgentextures(1, &tex_name); glbindtexture(gl_texture_2d, tex_name); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); gltexenvi(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_MODULATE); glteximage2d(gl_texture_2d, 0, GL_RGB, tex_br.ns, tex_br.nt, 0, GL_RGB, GL_UNSIGNED_BYTE, tex_br.tmap); - 나머지 OpenGL 부분은해당프로그램참조 OpenGL 23

24 Normal Map and Normal-Map Space Generating normal from height fields y z ij = z(i, j) y z y x x x 24

25 Bump Mapping a Torus Parametric surfaces Torus z y M N Tangent, binormal, and normal vectors z t 1 B y T (s,t) 1 s x S(s,t) N 25

26 Shading Normal-Map Space Transformation from object space to normal-map space z o z n V n z V o y o B y y o y n T x o x N x o x n S(s,t) z o z o z n V n V o x n x o y o y n 26

27 A Bump Mapping Example 범프매핑기법적용전과후 일반이미지맵과범프맵 왜범프맵의색상이푸른색일까? 27

28 Vertex Shader struct _output { float4 oposition: POSITION; float2 otexcoord: TEXCOORD0; float3 lightdirection: TEXCOORD1; float3 eye_direction: TEXCOORD2; ; _output main(float2 parametric: POSITION, //torus param uniform float3 lightposition, // Object-space uniform float3 eyeposition, // Object-space uniform float4x4 modelviewproj, uniform float2 torusinfo, uniform float decalflag) { _output OUT; const float pi2 = ; // 2 * Pi // Stetch texture coordinates CCW // over torus to repeat normal map in 6 by 2 pattern float M = torusinfo[1];//1.5 float N = torusinfo[0];//1.0 OUT.oTexCoord = parametric * float2(6, 2);//texture coordinate if(decalflag == 0) { if(out.otexcoord.y > -1.0) { OUT.oTexCoord.y = -OUT.oTexCoord.y; // Compute torus position from its parameteric equation float coss, sins; sincos(pi2 * parametric.x, sins, coss); float cost, sint; parametric.y = -parametric.y; sincos(pi2 * parametric.y, sint, cost); //Make torus position with torus info.(meridian_slices,core_slices) //x=(m+ncos(2*pi*t))cos(2*pi*s) //y=(m+ncos(2*pi*t))sin(2*pi*s) //z=nsin(2*pi*t) float3 torusposition = float3((m+n*cost) *coss, (M+N*cosT)*sinS, N*sinT); OUT.oposition = mul(modelviewproj, float4(torusposition, 1)); //CC position of vertex 28

29 // Compute per-vertex rotation matrix float3 dpds = float3(-sins*(m+n*cost), coss*(m+n*cost), 0); float3 norm_dpds = normalize(dpds); //T vector float3 normal = float3(coss*cost, sins*cost, sint);//n vector float3 dpdt = cross(normal, norm_dpds); //B vector if(decalflag == 0) if(out.otexcoord.y > -1.0) dpdt = -dpdt; float3x3 rotation = float3x3(norm_dpds, dpdt,normal); // Rotate obj.-space vectors to tex-space float3 eyedirection = eyeposition torusposition; float3 tmp_lightdirection = lightposition - torusposition; OUT.lightDirection = mul(rotation, tmp_lightdirection); eyedirection = mul(rotation, eyedirection); OUT.eye_direction=eyeDirection; return OUT; 29

30 Pixel Shader struct _output { float3 color: COLOR; ; float3 expand(float3 v) { return (v-0.5)*2; _output main( float2 normalmaptexcoord: TEXCOORD0, float3 lightdirection: TEXCOORD1, float3 eyedirection: TEXCOORD2, uniform float3 ambient, uniform sampler2d decalmap, uniform sampler2d normalmap) { _output OUT; float3 normal = expand(normaltex); //(0,1) ==> (-1,1) normal.xyz = normalize(normal.xyz); decalcolor = tex2d(decalmap, normalmaptexcoord.xy); float3 temp_1 = dot(normal,l); //N dot L float3 temp_2 = dot(normal,v); //N dot V OUT.color = ambient + decalcolor * temp_1 + pow(temp_2,25); return OUT; float3 decalcolor; float3 V = eyedirection; float3 L = lightdirection; L = normalize(l.xyz); V = normalize(v.xyz); float3 normaltex = tex2d(normalmap, normalmaptexcoord).xyz; // Fetch and expand range-compressed normal 30

31 From Pixar RenderMan Shader to Cg Shader windowhighlight() 이렌더맨쉐이더를 Cg 쉐이더로변환해보자. 31

32 /* Copyrighted Pixar 1989 */ /* From the RenderMan Companion p.357 */ /* Listing Surface shader providing a paned-window highlight*/ /* * windowhighlight(): Give a surface a window-shaped specular highlight. */ surface windowhighlight( point center = point "world" (0, 0, -4), /* center of the window */ in = point "world" (0, 0, 1), /* normal to the wall */ up = point "world" (0, 1, 0); /* 'up' on the wall */ { color specularcolor = 1; float Ka =.3, Kd =.5, xorder = 2, /* number of panes horizontally */ yorder = 3, /* number of panes vertically */ panewidth = 6, /* horizontal size of a pane */ paneheight = 6, /* vertical size of a pane */ framewidth = 1, /* sash width between panes */ fuzz =.2;) /* transition region between pane and sash */ uniform point in2, /* normalized in */ right, /* unit vector perpendicular to in2 and up2 */ up2, /* normalized up perpendicular to in */ corner; /* location of lower left corner of window */ point path, /* incident vector I reflected about normal N */ PtoC, /* vector from surface point to window corner */ PtoF; /* vector from surface point to wall along path */ float offset, modulus, yfract, xfract; point Nf = faceforward( normalize(n), I ); 32

33 /* Set up uniform variables as described above */ in2 = normalize(in); right = up ^ in2; up2 = normalize(in2^right); right = up2 ^ in2; corner = center - right*xorder*panewidth/2 - up2*yorder*paneheight/2; path = reflect(i, normalize(nf)); /* trace source of highlight */ PtoC = corner - Ps; if (path.ptoc <= 0) {/* outside the room */ xfract = yfract = 0; else { /* * Make PtoF be a vector from the surface point to the wall by adjusting the length of the reflected vector path. */ PtoF = path * (PtoC.in2)/(path.in2); /* * Calculate the vector from the corner to the intersection point, and * project it onto up2. This length is the vertical offset of the * intersection point within the window. */ offset = (PtoF - PtoC).up2; modulus = mod(offset, paneheight); if( offset > 0 && offset/paneheight < yorder ) { /* inside the window */ if( modulus > (paneheight/2))/* symmetry about pane center */ modulus = paneheight - modulus; yfract = smoothstep(/* fuzz at the edge of a pane */ (framewidth/2) - (fuzz/2), (framewidth/2) + (fuzz/2), modulus); else { yfract = 0; 33

34 /* Repeat the process for horizontal offset */ offset = (PtoF - PtoC).right; modulus = mod(offset, panewidth); if( offset > 0 && offset/panewidth < xorder ) { if( modulus > (panewidth/2)) modulus = panewidth - modulus; xfract = smoothstep( (framewidth/2) - (fuzz/2), (framewidth/2) + (fuzz/2), modulus); else { xfract = 0; /* specular calculation using the highlight */ Ci = Cs * (Kd*diffuse(Nf) + Ka*ambient()) + yfract*xfract*specularcolor ; 34

35 Cg 2.0 Cg-2.0_Jan2008_ReferenceManual.pdf Example: vertex (gp4vp) Vertex Attribute Input Semantics 35

36 Output Semantics 36

37 Example: geometry (gp4gp) Primitive Instance Input Semantic Vertex Instance Input Semantic 37

38 Vertex Attribute Input Semantics 38

39 Output Semantics 39

40 Example: pixel (gp4fp) Interpolated Input Semantic 40

41 41

42 Interpolation Semantic Modifiers Per-primitive Input Semantics 42

43 Output Semantics 43

untitled

untitled NV40 (Chris Seitz) NV1 1 Wanda NV1x 2 2 Wolfman NV2x 6 3 Dawn NV3x 1 3 Nalu NV4x 2 2 2 95-98: Z- CPU GPU / Geometry Stage Rasterization Unit Raster Operations Unit 2D Triangles Bus (PCI) 2D Triangles (Multitexturing)

More information

Microsoft PowerPoint - lecture15-ch6.ppt

Microsoft PowerPoint - lecture15-ch6.ppt Lighting OpenGL Lighting OpenGL의조명에는 3가지요소가필요 광원 (Lights) 재질 (Materials) 면의법선벡터 (Normals) 321190 2008년봄학기 5/26/2007 박경신 OpenGL Lighting OpenGL Lighting OpenGL에서제공하는조명모델 환경광 / 주변광 (ambient lights) 점광원 (point

More information

Microsoft PowerPoint - lecture16-ch6

Microsoft PowerPoint - lecture16-ch6 Lighting OpenGL Lighting OpenGL의조명에는 3가지요소가필요 광원 (Lights) 재질 (Materials) 면의법선벡터 (Normals) 321190 2007년봄학기 5/15/2007 박경신 OpenGL Lighting OpenGL Lighting OpenGL에서제공하는조명모델 환경광 / 주변광 (ambient lights) 점광원 (point

More information

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (2/8) 다음과같이설정되어있는데, cam.pos[0] = 0.0, cam.pos[1] = 0.0, cam.pos[2] = 500.0; 이때의 cam.naxis[] 벡터의세원소값을기술하라. Figure

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (2/8) 다음과같이설정되어있는데, cam.pos[0] = 0.0, cam.pos[1] = 0.0, cam.pos[2] = 500.0; 이때의 cam.naxis[] 벡터의세원소값을기술하라. Figure 서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (1/8) [CSE4170: 기초컴퓨터그래픽스 ] 기말고사 ( 담당교수 : 임인성 ) 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. OpenGL 시스템의각좌표계에대한약어는다음과같으며, 답을기술할때필요할경우적절히약어를사용하라.

More information

歯Lecture2.PDF

歯Lecture2.PDF VISUAL C++/MFC Lecture 2? Update Visual C ++/MFC Graphic Library OpenGL? Frame OpenGL 3D Graphic library coding CLecture1View? OpenGL MFC coding Visual C++ Project Settings Link Tap Opengl32lib, Glu32lib,

More information

서피스셰이더프로그램 셰이더개발을쉽게! Thursday, April 12, 12

서피스셰이더프로그램 셰이더개발을쉽게! Thursday, April 12, 12 서피스셰이더프로그램 셰이더개발을쉽게! 유니티렌더링시스템소개 렌더링패스 셰이더랩 서피스셰이더 데모 2 유니티렌더링시스템 3 Deferred Lighting Rendering Path Dual Lightmapping Post Effect Processing Realtime Shadow LightProbe Directional Lightmapping HDR Gamma

More information

Microsoft PowerPoint - NV40_Korea_KR_2.ppt

Microsoft PowerPoint - NV40_Korea_KR_2.ppt NV40의 진화 크리스 세이츠 (Chris Seitz) 그래픽의 진보 버츄어 파이터 NV1 1백만 삼각형 Wanda NV1x 2천 2백만 삼각형 Dawn NV3x 1억 3천만 삼각형 Wolfman NV2x 6천 3백만 삼각형 Nalu NV4x 2억 2천 2백만 95-98: 매핑과 Z-버퍼 CPU GPU 어플리케이션 / Geometry Stage Rasterization

More information

04_오픈지엘API.key

04_오픈지엘API.key 4. API. API. API..,.. 1 ,, ISO/IEC JTC1/SC24, Working Group ISO " (Architecture) " (API, Application Program Interface) " (Metafile and Interface) " (Language Binding) " (Validation Testing and Registration)"

More information

(Microsoft PowerPoint - ADEFNJKEPXSQ.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - ADEFNJKEPXSQ.ppt [\310\243\310\257 \270\360\265\345]) Shading Shading realistic computer graphics 의첫걸음 gradation of colors 색상이부드럽게변해가야 what is needed? light : 광원 matter ( material) : 물체표면의특성 optics ( 광학 ) or physics 1 6.1 Light and Matter Light and Matter

More information

Microsoft PowerPoint - lecture18-ch8

Microsoft PowerPoint - lecture18-ch8 OpenGL Texturing Texture Mapping 321190 2007년봄학기 5/25/2007 박경신 OpenGL 에서텍스쳐맵핑 (texture mapping) 을위한 3 단계 텍스쳐활성화 glenable(gl_texture_2d) 텍스쳐맵핑방법 ( 랩핑, 필터등 ) 정의 gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S,

More information

Microsoft PowerPoint - lecture17-ch8.ppt

Microsoft PowerPoint - lecture17-ch8.ppt OpenGL Texturing Texture Mapping 321190 2007년봄학기 6/2/2007 박경신 OpenGL 에서텍스쳐맵핑 (texture mapping) 을위한 3 단계 텍스쳐활성화 glenable(gl_texture_2d) 텍스쳐맵핑방법 ( 랩핑, 필터등 ) 정의 gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S,

More information

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte 스마트폰을 위한 A/V 신호처리기술 편집위원 : 김홍국 (광주과학기술원) 스마트폰에서의 영상처리를 위한 GPU 활용 박인규, 최호열 인하대학교 요 약 본 기고에서는 최근 스마트폰에서 요구되는 다양한 멀티미 디어 어플리케이션을 embedded GPU(Graphics Processing Unit)를 이용하여 고속 병렬처리하기 위한 GPGPU (General- Purpose

More information

0503기말고사.dvi

0503기말고사.dvi 서강대학교공과대학컴퓨터공학과 [CSE4170] 기초컴퓨터그래픽스기말고사 (1/8) [CSE4170] 기초컴퓨터그래픽스 기말고사 담당교수 : 임인성 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. OpenGL 시스템의각좌표계에대한약어는다음과같으며, 답을기술할때필요할경우적절히약어를사용하라.

More information

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp RUF * (A Simple and Efficient Antialiasing Method with the RUF buffer) (, Byung-Uck Kim) (Yonsei Univ. Depth of Computer Science) (, Woo-Chan Park) (Yonsei Univ. Depth of Computer Science) (, Sung-Bong

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 03 모델변환과시점변환 01 기하변환 02 계층구조 Modeling 03 Camera 시점변환 기하변환 (Geometric Transformation) 1. 이동 (Translation) 2. 회전 (Rotation) 3. 크기조절 (Scale) 4. 전단 (Shear) 5. 복합변환 6. 반사변환 7. 구조변형변환 2 기하변환 (Geometric Transformation)

More information

2005CG01.PDF

2005CG01.PDF Computer Graphics # 1 Contents CG Design CG Programming 2005-03-10 Computer Graphics 2 CG science, engineering, medicine, business, industry, government, art, entertainment, advertising, education and

More information

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1 그래픽스강의노트 06 - 조명 1 강영민 동명대학교 2015 년 2 학기 강영민 ( 동명대학교 ) 3D 그래픽스프로그래밍 2015 년 2 학기 1 / 25 음영 계산의 필요성 음영(陰影) 계산, 혹은 셰이딩(shading)은 어떤 물체의 표면에서 어두운 부분과 밝은 부분을 서로 다른 밝기로 그려내는 것 모든 면을 동일한 색으로 그리면 입체감이 없다. 2 /

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

Microsoft PowerPoint - lecture3-ch2.ppt [호환 모드]

Microsoft PowerPoint - lecture3-ch2.ppt [호환 모드] Coordinate Systems Graphics Programming 321190 2014 년봄학기 3/14/2014 박경신 2D Cartesian Coordinate Systems 3D Cartesian Coordinate Systems Cartesian Coordination Systems -x +y y-axis x-axis +x Two axes: x-axis

More information

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1 : LabVIEW Control Design, Simulation, & System Identification LabVIEW Control Design Toolkit, Simulation Module, System Identification Toolkit 2 (RLC Spring-Mass-Damper) Control Design toolkit LabVIEW

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max 알고리즘설계와분석 (CSE3081-2반 ) 중간고사 (2013년 10월24일 ( 목 ) 오전 10시30분 ) 담당교수 : 서강대학교컴퓨터공학과임인성수강학년 : 2학년문제 : 총 8쪽 12문제 ========================================= < 주의 > 답안지에답을쓴후제출할것. 만약공간이부족하면답안지의뒷면을이용하고반드시답을쓰는칸에답안지의어느쪽의뒷면에답을기술하였는지명시할것.

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

0503기말고사.dvi

0503기말고사.dvi 서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/6) [CSE4170: 기초 컴퓨터 그래픽스] 기말고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 답안지 공간이 부족할 경우, 답안지 뒷면에 기 술하고, 해당 답안지 칸에 그 사실을 명기할 것. 1. 다음은 OpenGL fixed-function 렌더링

More information

10주차.key

10주차.key 10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1

More information

Microsoft PowerPoint - GameProgramming23-PixelShader.ppt

Microsoft PowerPoint - GameProgramming23-PixelShader.ppt 픽셀셰이더 HLSL Pixel Shader 305890 2009년봄학기 6/10/2009 박경신 각픽셀의래스터라이즈과정을위해그래픽카드의 GPU 에서실행되는프로그램 Direct3D 는소프트웨어적으로픽셀셰이더기능을에뮬레이트하지않음 픽셀과텍스처좌표에대한직접적인접근, 처리 멀티텍스처링, 픽셀당조명, 필드깊이, 구름시뮬레이션, 불시뮬레이션, 복잡한그림자테크닉 GPU

More information

Microsoft PowerPoint - gpgpu_proximity.ppt

Microsoft PowerPoint - gpgpu_proximity.ppt Fast Geometric Computations using GPUs 김영준 http://graphics.ewha.ac.kr 이화여자대학교컴퓨터학과 Topics Collision detection Closest point query Approximate arrangement computation Ewha Womans University http://graphics.ewha.ac.kr

More information

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ 알고리즘설계와분석 (CSE3081(2 반 )) 기말고사 (2016년 12월15일 ( 목 ) 오전 9시40분 ~) 담당교수 : 서강대학교컴퓨터공학과임인성 < 주의 > 답안지에답을쓴후제출할것. 만약공간이부족하면답안지의뒷면을이용하고, 반드시답을쓰는칸에어느쪽의뒷면에답을기술하였는지명시할것. 연습지는수거하지않음. function MakeSet(x) { x.parent

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 06 Texture Mapping 01 Texture Mapping 의종류 02 Texture Mapping 이가능한객체생성 03 고급 Texture Mapping 01 Texture Mapping 의종류 1. 수동 Texture Mapping 2. 자동 Texture Mapping 2 01 Texture Mapping 의종류 좌표변환 Pipeline 에서

More information

04-다시_고속철도61~80p

04-다시_고속철도61~80p Approach for Value Improvement to Increase High-speed Railway Speed An effective way to develop a highly competitive system is to create a new market place that can create new values. Creating tools and

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

단국대학교멀티미디어공학그래픽스프로그래밍기말고사 (2012 년봄학기 ) 2012 년 6 월 12 일학과학번이름 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤

단국대학교멀티미디어공학그래픽스프로그래밍기말고사 (2012 년봄학기 ) 2012 년 6 월 12 일학과학번이름 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. l 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 다음은 oglclass 에서제공하는

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

63-69±è´ë¿µ

63-69±è´ë¿µ Study on the Shadow Effect of 3D Visualization for Medical Images ased on the Texture Mapping D.Y. Kim, D.S. Kim, D.K. Shin, D.Y. Kim 1 Dept. of iomedical Engineering, Yonsei University = bstract = The

More information

Motor

Motor Interactive Workshop for Artists & Designers Earl Park Motor Servo Motor Control #include Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect

More information

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016)   ISSN 228 (JBE Vol. 1, No. 1, January 016) (Regular Paper) 1 1, 016 1 (JBE Vol. 1, No. 1, January 016) http://dx.doi.org/10.5909/jbe.016.1.1.60 ISSN 87-9137 (Online) ISSN 16-7953 (Print) a), a) An Efficient Method

More information

Microsoft PowerPoint - lecture16-ch8.ppt [호환 모드]

Microsoft PowerPoint - lecture16-ch8.ppt [호환 모드] OpenGL Texturing Texture Mapping 514780 017 년가을학기 11/16/017 단국대학교박경신 OpenGL 에서텍스쳐맵핑 (texture mapping) 을위한 3 단계 텍스쳐활성화 glenable(gl_texture_d) 텍스쳐맵핑방법 ( 랩핑, 필터등 ) 정의 gltexparameteri(gl_texture_d, GL_TEXTURE_WRAP_S,

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

C++-¿Ïº®Çؼ³10Àå

C++-¿Ïº®Çؼ³10Àå C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

19_9_767.hwp

19_9_767.hwp (Regular Paper) 19 6, 2014 11 (JBE Vol. 19, No. 6, November 2014) http://dx.doi.org/10.5909/jbe.2014.19.6.866 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) RGB-Depth - a), a), b), a) Real-Virtual Fusion

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

MPLAB C18 C

MPLAB C18 C MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C

More information

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : http://www.longtailvideo.com 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : http://www.longtailvideo.com 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전 Jwplayer Guide Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : http://www.longtailvideo.com 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전까지 나왔으며 편리함을 위해서 아래를 링크를 걸어둡니다 [다운로드]

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

(Exposure) Exposure (Exposure Assesment) EMF Unknown to mechanism Health Effect (Effect) Unknown to mechanism Behavior pattern (Micro- Environment) Re

(Exposure) Exposure (Exposure Assesment) EMF Unknown to mechanism Health Effect (Effect) Unknown to mechanism Behavior pattern (Micro- Environment) Re EMF Health Effect 2003 10 20 21-29 2-10 - - ( ) area spot measurement - - 1 (Exposure) Exposure (Exposure Assesment) EMF Unknown to mechanism Health Effect (Effect) Unknown to mechanism Behavior pattern

More information

Microsoft PowerPoint - 13prac.pptx

Microsoft PowerPoint - 13prac.pptx Viewing 1 th Week, 29 OpenGL Viewing Functions glulookat() Defining a viewing matrix glortho() Creating a matrix for an orthographic parallel viewing i volume glfrustum() Creating a matrix for a perspective-view

More information

Slide 1

Slide 1 Clock Jitter Effect for Testing Data Converters Jin-Soo Ko Teradyne 2007. 6. 29. 1 Contents Noise Sources of Testing Converter Calculation of SNR with Clock Jitter Minimum Clock Jitter for Testing N bit

More information

<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F436F6E736F6C D6520B0B3B9DFBFA120C0AFBFEBC7D120B9E6B9FD5FC0CCC1F

<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F436F6E736F6C D6520B0B3B9DFBFA120C0AFBFEBC7D120B9E6B9FD5FC0CCC1F Console Game 개발에유용한방법 이진균개발실장 목 Console Game 시장과개발의필요성 Programming Differences between PC & Console Dev. Environments CPU, GPU, & FPU Resource Loading Memory Management Network Implementing Effects Quality

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

<31325FB1E8B0E6BCBA2E687770>

<31325FB1E8B0E6BCBA2E687770> 88 / 한국전산유체공학회지 제15권, 제1호, pp.88-94, 2010. 3 관내 유동 해석을 위한 웹기반 자바 프로그램 개발 김 경 성, 1 박 종 천 *2 DEVELOPMENT OF WEB-BASED JAVA PROGRAM FOR NUMERICAL ANALYSIS OF PIPE FLOW K.S. Kim 1 and J.C. Park *2 In general,

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

LIDAR와 영상 Data Fusion에 의한 건물 자동추출

LIDAR와 영상 Data Fusion에 의한 건물 자동추출 i ii iii iv v vi vii 1 2 3 4 Image Processing Image Pyramid Edge Detection Epipolar Image Image Matching LIDAR + Photo Cross correlation Least Squares Epipolar Line Matching Low Level High Level Space

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

(Microsoft PowerPoint - JXEUOAACMYBW.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - JXEUOAACMYBW.ppt [\310\243\310\257 \270\360\265\345]) Discrete Techniques Historical Background 1970 년대 : local illumination models Phong shading : plastic 처럼보인다... 1980년대 : realism 의추구 global illumination models high cost, but very realistic texture mapping

More information

Microsoft Word - Cg Shader Programming.doc

Microsoft Word - Cg Shader Programming.doc Cg Shader Programming 2005-11-17 yegam400@gmail.com 1. 기능 nvidia사에서 Cg Shader는 OpenGL/Direct3D의실시간 3D API에서그래픽하드웨어파이프라인을프로그래머가프로그래밍가능하게한언어이다. 이전세대에서는어셈블리로작성하였으나최근에는 C언어와유사한문법을사용하여프로그램가능하다. 2. 3D 그래픽파이프라인

More information

Microsoft Word - cg07-final.doc

Microsoft Word - cg07-final.doc 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 성적공고시중간고사때제출한암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오. (20점) 1) 은면제거알고리즘중페인터알고리즘

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

untitled

untitled Logic and Computer Design Fundamentals Chapter 4 Combinational Functions and Circuits Functions of a single variable Can be used on inputs to functional blocks to implement other than block s intended

More information

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

Microsoft PowerPoint - AC3.pptx

Microsoft PowerPoint - AC3.pptx Chapter 3 Block Diagrams and Signal Flow Graphs Automatic Control Systems, 9th Edition Farid Golnaraghi, Simon Fraser University Benjamin C. Kuo, University of Illinois 1 Introduction In this chapter,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 01 OpenGL 과 Modeling 01 OpenGL API 02 Rendering Pipeline 03 Modeling 01 OpenGL API 1. OpenGL API 설치및환경설정 2. OpenGL API 구조 2 01 1. OpenGL API 설치및환경설정 OpenGL API 의상대적위치 System Memory Graphics Application

More information

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not, Page 1 of 5 Learn Korean Ep. 4: To be and To exist Of course to be and to exist are different verbs, but they re often confused by beginning students when learning Korean. In English we sometimes use the

More information

step 1-1

step 1-1 Written by Dr. In Ku Kim-Marshall STEP BY STEP Korean 1 through 15 Action Verbs Table of Contents Unit 1 The Korean Alphabet, hangeul Unit 2 Korean Sentences with 15 Action Verbs Introduction Review Exercises

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

ShaderX2: DirectX 9 셰이더 프로그래밍 팁 & 트릭

ShaderX2: DirectX 9 셰이더 프로그래밍 팁 & 트릭 1 1. De a n C a lve r Direct3D ShaderX: &. DirectX 9 (stream).. Dire c tx 9 1.1.... 3.0, 1. 49.. DirectX 8., ( ). DirectX 8 (D3DDEVCAPS2_STREAMOFFSET ), DirectX 9. DirectX 7, FVF.,, DirectX 9, D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET.

More information

Microsoft Word - cg07-midterm.doc

Microsoft Word - cg07-midterm.doc 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오.

More information

chap8.PDF

chap8.PDF 8 Hello!! C 2 3 4 struct - {...... }; struct jum{ int x_axis; int y_axis; }; struct - {...... } - ; struct jum{ int x_axis; int y_axis; }point1, *point2; 5 struct {....... } - ; struct{ int x_axis; int

More information

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0 for loop array {commands} 예제 1.1 (For 반복변수의이용 ) >> data=[3 9 45 6; 7 16-1 5] data = 3 9 45 6 7 16-1 5 >> for n=data x=n(1)-n(2) -4-7 46 1 >> for n=1:10 x(n)=sin(n*pi/10); n=10; >> x Columns 1 through 7

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

More information

유니 앞부속

유니 앞부속 Published by Ji&Son Inc. Printed in Korea. Unityによる3Dゲ-ム : iphone/android/webで ゲ-ムプログラミング (JAPAN ISBN 978-4873115061) Authorized translation from the Japanese language edition of Unityによる3Dゲ- ム. 2011 the

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

°í¼®ÁÖ Ãâ·Â

°í¼®ÁÖ Ãâ·Â Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of

More information

Microsoft PowerPoint - lecture11-ch4

Microsoft PowerPoint - lecture11-ch4 Geometric Objects and Transformation 321190 2007 년봄학기 4/17/2007 박경신 OpenGL Transformation OpenGL 은기본적인변환을수행하는함수를제공한다. Translation: 이동변환은 3 차원이동변위벡터 (dx, dy, dz) 를넣는다. Rotation: 회전변환은 axis( 회전축 ) 와 angle(

More information

램프거리에 따른 출광량 분포 정보미디어의 표시 장치로 현재 CRT(Cathode Ray Tube) 가 가장 많이 사용되 고있다. 그러나 CRT 는 큰 부피, 무거운 중량, 높은 소비전력 등 문제를 가지고있 다. 대조적으로, FPD(Flat Panel Display) Unit중에서 LCD(Liquid Crystal Display) 는 저 소비전력, 저 전압구동과

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

More information

1 Nov-03 CST MICROWAVE STUDIO Microstrip Parameter sweeping Tutorial Computer Simulation Technology

1   Nov-03 CST MICROWAVE STUDIO Microstrip Parameter sweeping Tutorial Computer Simulation Technology 1 CST MICROWAVE STUDIO Microstrip Parameter sweeping Tutorial Computer Simulation Technology wwwcstcom wwwcst-koreacokr 2 1 Create a new project 2 Model the structure 3 Define the Port 4 Define the Frequency

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

45-51 ¹Ú¼ø¸¸

45-51 ¹Ú¼ø¸¸ A Study on the Automation of Classification of Volume Reconstruction for CT Images S.M. Park 1, I.S. Hong 2, D.S. Kim 1, D.Y. Kim 1 1 Dept. of Biomedical Engineering, Yonsei University, 2 Dept. of Radiology,

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선 Point Operation Histogram Modification 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 HISTOGRAM HISTOGRAM MODIFICATION DETERMINING THRESHOLD IN THRESHOLDING 2 HISTOGRAM A simple datum that gives the number of pixels that a

More information

Manufacturing6

Manufacturing6 σ6 Six Sigma, it makes Better & Competitive - - 200138 : KOREA SiGMA MANAGEMENT C G Page 2 Function Method Measurement ( / Input Input : Man / Machine Man Machine Machine Man / Measurement Man Measurement

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), 1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)

More information

<30322D28C6AF29C0CCB1E2B4EB35362D312E687770>

<30322D28C6AF29C0CCB1E2B4EB35362D312E687770> 한국학연구 56(2016.3.30), pp.33-63. 고려대학교 한국학연구소 세종시의 지역 정체성과 세종의 인문정신 * 1)이기대 ** 국문초록 세종시의 상황은 세종이 왕이 되면서 겪어야 했던 과정과 닮아 있다. 왕이 되리라 예상할 수 없었던 상황에서 세종은 왕이 되었고 어려움을 극복해 갔다. 세종시도 갑작스럽게 행정도시로 계획되었고 준비의 시간 또한 짧았지만,

More information

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI:   (LiD) - - * Way to Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp.353-376 DOI: http://dx.doi.org/10.21024/pnuedi.29.1.201903.353 (LiD) -- * Way to Integrate Curriculum-Lesson-Evaluation using Learning-in-Depth

More information

Microsoft PowerPoint cg01.ppt

Microsoft PowerPoint cg01.ppt Chap 1. Graphics Systems and Models 동의대학교멀티미디어공학과 Hyoungseok B. Kim Computer Graphics definition all technologies related to producing pictures or images using a computer 40년정도의역사 CRT characters photo-realistic

More information

ecorp-프로젝트제안서작성실무(양식3)

ecorp-프로젝트제안서작성실무(양식3) (BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing

More information

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드] 전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation

More information