Microsoft PowerPoint - GameProgramming23-PixelShader.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - GameProgramming23-PixelShader.ppt"

Transcription

1 픽셀셰이더 HLSL Pixel Shader 년봄학기 6/10/2009 박경신 각픽셀의래스터라이즈과정을위해그래픽카드의 GPU 에서실행되는프로그램 Direct3D 는소프트웨어적으로픽셀셰이더기능을에뮬레이트하지않음 픽셀과텍스처좌표에대한직접적인접근, 처리 멀티텍스처링, 픽셀당조명, 필드깊이, 구름시뮬레이션, 불시뮬레이션, 복잡한그림자테크닉 GPU 가지원하는픽셀셰이더의버전체크 // Step 2: Check for hardware vp. D3DCAPS9 caps; d3d9->getdevicecaps(d3dadapter_default, devicetype, &caps); // If the device s supported version is less than version 2.0 if( caps.pixelshaderversion < D3DPS_VERSION(2,0) ) // Then pixel shader version 2.0 is not supported on this device Overview 픽셀셰이더를이용한멀티텍스처링 멀티텍스처링개념에대한기본적인이해 픽셀셰이더의작성법과생성법및사용법 픽셀셰이더를이용한멀티텍스처링의구현방법 * + 기반 (Base) 스포트라이트 (Spot Light) 텍스트 (Text)

2 픽셀셰이더를이용한멀티텍스처링 멀티텍스처링의개요 텍스처들을블렌딩함 기반 (Base) * + 스포트라이트 (Spot Light) 텍스트 (Text) 고정기능파이프라인 픽셀셰이더 라이트맵 (light maps) 이라는특수한텍스처맵을이용하면얻게되는장점 조명이미리계산됨 전반적인처리속도향상 단, 물체와조명이모두정적이여야함 Direct3D 조명모델보다훨씬정확하고정교한광원모델의이용가능 난반사라이트맵, 정반사라이트맵, 안개맵, 디테일맵 멀티텍스처링결과 멀티텍스처의활성화 텍스처지정함수와샘플러상태지정함수 HRESULT HRESULT SetTexture( SetTexture( DWORD DWORD Stage, Stage, // // specifies specifies the the texture texture stage stage index index IDirect3DBaseTexture9 IDirect3DBaseTexture9 *ptexture *ptexture ); ); HRESULT HRESULT SetSamplerState( SetSamplerState( DWORD DWORD Sampler, Sampler, // // specifies specifies the the texture texture stage stage index index D3DSAMPLERSTATETYPE D3DSAMPLERSTATETYPE Type, Type, DWORD DWORD Value Value ); 예 );) // Set first texture and corresponding sampler states Device->SetTexture( 0, BaseTex); Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); // Set second texture and corresponding sampler states Device->SetTexture( 1, SpotLightTex); Device->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); // Set third texture and corresponding sampler states Device->SetTexture( 2, StringTex); Device->SetSamplerState(2, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(2, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(2, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); 멀티텍스처좌표 각버텍스는활성화된텍스처개수와같은수의텍스처좌표집합을가져야함 최대 8개의텍스처좌표지원 예 ) struct MultiTexVertex MultiTexVertex(float x, float y, float z, float u0, float v0, float u1, float v1, float u2, float v2) _x = x; _y = y; _z = z; _u0 = u0; _v0 = v0; _u1 = u1; _v1 = v1; _u2 = u2, _v2 = v2; float _x, _y, _z; float _u0, _v0; float _u1, _v1; float _u2, _v2; static const DWORD FVF; ; const DWORD MultiTexVertex::FVF = D3DFVF_XYZ D3DFVF_TEX3;

3 픽셀셰이더의입출력 입력 픽셀의컬러와텍스처좌표 예 ) struct PS_INPUT vector c0 vector c1 float2 t0 float2 t1 float2 t2 ; 픽셀셰이더의입력 버텍스셰이더의출력 출력 픽셀의하나의컬러 예 ) struct VS_OUTPUT vector finalpixelcolor ; : COLOR0; : COLOR1; : TEXCOORD0; : TEXCOORD1; : TEXCOORD2; : COLOR0; 픽셀셰이더의이용단계 픽셀셰이더를작성하고컴파일 컴파일된셰이더코드에기반한픽셀셰이더를나타내는 IDirect3DPixelShader9 인터페이스를생성 IDirect3DDevice9::SetPixelShader 메서드를이용해픽셀셰이더활성화 이용이끝난뒤, 픽셀셰이더제거 픽셀셰이더의작성과컴파일 HLSL 을이용해픽셀셰이더프로그램작성 ASCII 텍스트파일 ( 텍스트편집기이용 ) 픽셀셰이더컴파일 D3DXCompileShaderFromFile 함수이용 컴파일된셰이더코드를포함하는 ID3DXBuffer 포인터리턴 hr = D3DXCompileShaderFromFile( "ps_multitex.txt", 0, 0, "Main", // entry point function name "ps_1_1", D3DXSHADER_DEBUG, &shader, &errorbuffer, &MultiTexCT); 픽셀셰이더만들기 HRESULT IDirect3DDevice9::CreatePixelShader( const const DWORD *pfunction, IDirect3DPixelShader9** ppshader ); ); 예 ) IDirect3DPixelShader9* MultiTexPS = 0; ID3DXConstantTable* MultiTexCT = 0; ID3DXBuffer* shader = 0; ID3DXBuffer* errorbuffer = 0; hr = D3DXCompileShaderFromFile( "ps_multitex.txt", 0, 0, "Main", // entry point function name "ps_1_1", D3DXSHADER_DEBUG, &shader, &errorbuffer, &MultiTexCT); hr = Device->CreatePixelShader( (DWORD*)shader->GetBufferPointer(), &MultiTexPS);

4 픽셀셰이더의활성화와제거 픽셀세이더의활성화 HRESULT IDirect3DDevice9::SetPixelShader( IDirect3DPixelShader9* pshader ); ); 예 ) Device->BeginScene(); 이용이끝난뒤에는픽셀셰이더를제거 예 ) Device->SetPixelShader(MultiTexPS); Device->SetFVF(MultiTexVertex::FVF); Device->SetStreamSource(0, QuadVB, 0, sizeof(multitexvertex)); Device->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2); Device->EndScene(); d3d::release<idirect3dpixelshader9*>(multitexps); d3d::release<id3dxconstanttable*>(multitexct); HLSL 샘플러객체 (u,v) 텍스처좌표로인덱스하려는텍스처 텍스처와샘플러상태를식별하는객체 (u,v) 인덱스할출력컬러 Sampling 텍스처좌표 + 텍스처 예 ) sampler BaseTex; sampler SpotLightTex; 픽셀셰이더코드 sampler StringTex; IDirect3DTexture9* BaseTex = 0; D3DXHANDLE BaseTexHandle = 0; D3DXCONSTANT_DESC BaseTexDesc; D3DXCreateTextureFromFile(Device, "crate.bmp", &BaseTex); BaseTexHandle = MultiTexCT->GetConstantByName(0, "BaseTex"); MultiTexCT->GetConstantDesc(BaseTexHandle, &BaseTexDesc, &count); Device->SetTexture( BaseTexDesc.RegisterIndex, BaseTex); Device->SetSamplerState(BaseTexDesc.RegisterIndex, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(BaseTexDesc.RegisterIndex, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(BaseTexDesc.RegisterIndex, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); Sample: Multitexturing Shader: ps_multitex.txt sampler BaseTex; sampler SpotLightTex; sampler StringTex; struct PS_INPUT float2 base : TEXCOORD0; float2 spotlight : TEXCOORD1; float2 text : TEXCOORD2; ; struct PS_OUTPUT vector diffuse : COLOR0; ; PS_OUTPUT Main(PS_INPUT input) PS_OUTPUT output = (PS_OUTPUT)0; vector b = tex2d(basetex, input.base); vector s = tex2d(spotlighttex, input.spotlight); vector t = tex2d(stringtex, input.text); vector c = b * s + t; c += 0.1f; output.diffuse = c; return output;

5 Global Variables IDirect3DPixelShader9* MultiTexPS = 0; ID3DXConstantTable* MultiTexCT = 0; IDirect3DVertexBuffer9* QuadVB = 0; IDirect3DTexture9* BaseTex = 0; IDirect3DTexture9* SpotLightTex = 0; IDirect3DTexture9* StringTex = 0; D3DXHANDLE BaseTexHandle = 0; D3DXHANDLE SpotLightTexHandle = 0; D3DXHANDLE StringTexHandle = 0; D3DXCONSTANT_DESC BaseTexDesc; D3DXCONSTANT_DESC SpotLightTexDesc; D3DXCONSTANT_DESC StringTexDesc; struct MultiTexVertex MultiTexVertex(float x, float y, float z, float u0, float v0, float u1, float v1, float u2, float v2) _x = x; _y = y; _z = z; _u0 = u0; _v0 = v0; _u1 = u1; _v1 = v1; _u2 = u2, _v2 = v2; float _x, _y, _z; float _u0, _v0; float _u1, _v1; float _u2, _v2; static const DWORD FVF; ; const DWORD MultiTexVertex::FVF = D3DFVF_XYZ D3DFVF_TEX3; Creating a Vertex Buffer bool Setup() HRESULT hr = 0; Device->CreateVertexBuffer( 6 * sizeof(multitexvertex), D3DUSAGE_WRITEONLY, MultiTexVertex::FVF, D3DPOOL_MANAGED, &QuadVB, 0); MultiTexVertex* v = 0; QuadVB->Lock(0, 0, (void**)&v, 0); v[0] = MultiTexVertex(-10.0f, -10.0f, 5.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f); v[1] = MultiTexVertex(-10.0f, 10.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); v[2] = MultiTexVertex( 10.0f, 10.0f, 5.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f); v[3] = MultiTexVertex(-10.0f, -10.0f, 5.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f); v[4] = MultiTexVertex( 10.0f, 10.0f, 5.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f); v[5] = MultiTexVertex( 10.0f, -10.0f, 5.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); QuadVB->Unlock(); Compiling and Creating a PS Obtaining Handles and Initializing PS s Variables ID3DXBuffer* shader = 0; ID3DXBuffer* errorbuffer = 0; hr = D3DXCompileShaderFromFile( "ps_multitex.txt", 0, 0, "Main", // entry point function name "ps_1_1", D3DXSHADER_DEBUG, &shader, &errorbuffer, &MultiTexCT); if( errorbuffer ) ::MessageBox(0, (char*)errorbuffer->getbufferpointer(), 0, 0); d3d::release<id3dxbuffer*>(errorbuffer); if(failed(hr)) ::MessageBox(0, "D3DXCompileShaderFromFile() - FAILED", 0, 0); return false; hr = Device->CreatePixelShader( (DWORD*)shader->GetBufferPointer(), &MultiTexPS); if(failed(hr)) ::MessageBox(0, "CreateVertexShader - FAILED", 0, 0); return false; d3d::release<id3dxbuffer*>(shader); D3DXCreateTextureFromFile(Device, "crate.bmp", &BaseTex); D3DXCreateTextureFromFile(Device, "spotlight.bmp", &SpotLightTex); D3DXCreateTextureFromFile(Device, "text.bmp", &StringTex); D3DXMATRIX P; D3DXMatrixPerspectiveFovLH(&P, D3DX_PI * 0.25f, (float)width / (float)height, 1.0f, f); Device->SetTransform(D3DTS_PROJECTION, &P); Device->SetRenderState(D3DRS_LIGHTING, false); BaseTexHandle = MultiTexCT->GetConstantByName(0, "BaseTex"); SpotLightTexHandle = MultiTexCT->GetConstantByName(0, "SpotLightTex"); StringTexHandle = MultiTexCT->GetConstantByName(0, "StringTex"); UINT count; MultiTexCT->GetConstantDesc(BaseTexHandle, &BaseTexDesc, &count); MultiTexCT->GetConstantDesc(SpotLightTexHandle, &SpotLightTexDesc, &count); MultiTexCT->GetConstantDesc(StringTexHandle, &StringTexDesc, &count); MultiTexCT->SetDefaults(Device); return true;

6 Display ( ) (1) Display ( ) (2) bool Display(float timedelta) if( Device ) // Update the scene: code snipped... Device->Clear(0, 0, D3DCLEAR_TARGET D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0); Device->BeginScene(); Device->SetPixelShader(MultiTexPS); Device->SetFVF(MultiTexVertex::FVF); Device->SetStreamSource(0, QuadVB, 0, sizeof(multitexvertex)); Device->SetTexture( BaseTexDesc.RegisterIndex, BaseTex); Device->SetSamplerState(BaseTexDesc.RegisterIndex, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(BaseTexDesc.RegisterIndex, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(BaseTexDesc.RegisterIndex, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); Device->SetTexture( SpotLightTexDesc.RegisterIndex, SpotLightTex); Device->SetSamplerState(SpotLightTexDesc.RegisterIndex, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(SpotLightTexDesc.RegisterIndex, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(SpotLightTexDesc.RegisterIndex, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); Device->SetTexture( StringTexDesc.RegisterIndex, StringTex); Device->SetSamplerState(StringTexDesc.RegisterIndex, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(StringTexDesc.RegisterIndex, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(StringTexDesc.RegisterIndex, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); Device->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2); Device->EndScene(); Device->Present(0, 0, 0, 0); return true; Cleanup ( ) 연습문제 Phong Shading void Cleanup() d3d::release<idirect3dvertexbuffer9*>(quadvb); d3d::release<idirect3dtexture9*>(basetex); d3d::release<idirect3dtexture9*>(spotlighttex); d3d::release<idirect3dtexture9*>(stringtex); d3d::release<idirect3dpixelshader9*>(multitexps); d3d::release<id3dxconstanttable*>(multitexct);

7 Shader: phong.txt struct VS_INPUT vector position : POSITION; vector normal : NORMAL; ; struct VS_OUTPUT vector position : POSITION; vector light : TEXCOORD0; vector normal : TEXCOORD1; vector view : TEXCOORD2; ; Shader: phong.txt VS_OUTPUT VS_Main(VS_INPUT input) VS_OUTPUT output = (VS_OUTPUT)0; output.position = mul(input.position, ViewProjMatrix); LightDirection.w = 0.0f; input.normal.w = 0.0f; output.light = mul(lightdirection, ViewMatrix); output.normal = mul(input.normal, ViewMatrix); output.view = normalize(mul(input.position, ViewMatrix)); struct PS_INPUT vector light : TEXCOORD0; vector normal : TEXCOORD1; vector view : TEXCOORD2; ; struct PS_OUTPUT vector diffuse : COLOR; ; return output; Shader: phong.txt Shader: phong.txt (3) PS_OUTPUT PS_Main(PS_INPUT input) PS_OUTPUT output = (PS_OUTPUT)0; float d = saturate(dot(input.normal, input.light)); input.light.w = 0.0f; input.normal.w = 0.0f; vector r = normalize(reflect(input.light, input.normal)); float s = pow(saturate(dot(input.view, r)), 8); output.diffuse = (AmbientMtrl * AmbientLightIntensity) + (d * (DiffuseLightIntensity * DiffseMtrl)) + (s * (SpecularLightIntensity * SpecularMtrl)); return output;

8 Global Variables Compiling a Vertex Shader Creating a Vertex Shader Compiling a Pixel Shader

9 Creating a Pixel Shader Obtaining Handles and Initializing Variables Cleanup ( ) Display ( )

10 Exercise Bump Mapping 범프매핑 표면이렌더링될때, 법선벡터에잡음을넣어왜곡시키는기법 표면색상에작은변동이생겨울퉁불퉁해보임 텍스처맵 탄젠트좌표계 컬러맵 N U N N U V N U V 범프맵 법선벡터와탄젠트벡터의계산 V U V HRESULT HRESULT D3DXComputeNormals( LPD3DXBASEMESH pmesh, pmesh, CONST CONST DWORD DWORD ** padjacency padjacency ); ); HRESULT HRESULTWINAPI WINAPID3DXComputeTangent( LPD3DXMESH LPD3DXMESHMesh, Mesh, DWORD DWORDTexStageIndex, DWORD DWORDTangentIndex, DWORD DWORDBinormIndex, DWORD DWORDWrap, Wrap, const const DWORD DWORD *padjacency *padjacency););

11 Global Variables Loading a Mesh from X-File Computing Normal & Tangent Vectors Cleanup & Compiling VS

12 Creating VS & Compiling PS Creating PS & Getting Handles Getting Handles for Samplers Cleanup ( )

13 Enabling VS and PS Bump Mapping Shader: bump.txt (1) Shader: bump.txt (2)

14 Shader: bump.txt (3)

Microsoft Word - game08-midterm.doc

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

More information

Microsoft PowerPoint - GameProgramming15-MeshII

Microsoft PowerPoint - GameProgramming15-MeshII Mesh Part II Mesh Part II ID3DXBuffer XFiles 데이터를 ID3DXMesh 객체로읽어들이는방법 프로그레시브메쉬 (Progressive mesh) 를이용하여얻을수있는이점에대한이해와메쉬인터페이스 ID3DXPMesh 이용방법 305890 2007년봄학기 5/9/2007 박경신 경계볼륨 (Bounding volume) 의정의와용도에대한학습과

More information

Microsoft PowerPoint - 10terrain.ppt

Microsoft PowerPoint - 10terrain.ppt Game Programming II 기본적인지형렌더링 October 26, 2006 지형메쉬 (Terrain Mesh) 격자내에버텍스에높이를부여하여생성된메쉬 실제지형과같이산에서계곡으로의부드러운전환가능 텍스처를추가하면, 모래로덮인해변이나풀로덮인언덕, 눈덮인산등표현가능 Terrain 클래스구현아주작은지형을이용하는게임의경우, 버텍스프로세싱을지원하는그래픽카드를이용해충분히적용가능

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

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

슬라이드 1

슬라이드 1 한국산업기술대학교 제 10 강광원 이대현교수 학습안내 학습목표 오우거엔진의광원을이용하여 3D 공갂에서광원을구현해본다. 학습내용 평면메쉬의생성방법광원의종류및구현방법 광원의종류 : 주변광원 주변광원 (Ambient Light) 동일한밝기의빛이장면안의모든물체의표면에서일정하게반사되는것. 공갂안에존재하는빛의평균값이론적인광원 광원의종류 : 지향광원 지향광원 (Directional

More information

Microsoft PowerPoint - Week04_DirectX9 프로그래밍의 기초2.pptx

Microsoft PowerPoint - Week04_DirectX9 프로그래밍의 기초2.pptx DirectX9 프로그래밍의기초 2 목 차 파일포맷 ID3DXBuffer 사용하기 경계볼륨 애니메이션및게임실습 2 3D Modeler 3DS Max LightWave 3D Maya 메쉬데이터 기하정보 재질 애니메이션 애니메이션및게임실습 3 .X DirectX 에서사용하는파일포맷 파일처리함수를 DirectX 가제공 파일종류 ASCII Binary Binary

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

Microsoft PowerPoint - Week03_DirectX9 프로그래밍의 기초.pptx

Microsoft PowerPoint - Week03_DirectX9 프로그래밍의 기초.pptx DirectX9 프로그래밍의기초 목 차 DirectX9 프로그래밍의기초 DirectX 그래픽의역사 HAL 과 COM 에대한개요 DirectX9 에서의그리기 Win32API 프로그래밍의개요 Direct3D 초기화 정점 / 인덱스버퍼를이용한그리기 D3DX 기하물체 메쉬의이용 애니메이션및게임실습 2 DirectX 그래픽의역사 DirectX 2.0 1995. DirectX

More information

<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E >

<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E > 블렌딩, 스텐실버퍼, 그림자 목 차 블렌딩 스텐실버퍼 그림자 블렌딩방정식 블렌딩인수 투명 알파채널만들기 스텐실버퍼 반사 거울 그림자 평면투영그림자 애니메이션및게임실습 2 블렌딩 블렌딩방정식 블렌딩 애니메이션및게임실습 4 블렌딩방정식 블렌딩 현재계산되고있는픽셀 ( 원본픽셀 ) 을앞서쓰여진픽셀값 ( 목적지픽셀 ) 과결합 후면버퍼 + 전면버퍼 그리기순서 블렌딩을이용하지않는물체그리기

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

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

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

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 4 강프레임리스너 (Frame Listener) 이대현교수 학습안내 학습목표 프레임리스너를이용하여게임루프를구현하는방법을이해한다. 오우거엔짂의키입력처리방식을이해한다. 학습내용 프레임리스너의개념프레임리스너를이용한게임캐릭터의이동캐릭터의이동속도조절 OIS 입력시스템을이용한키보드입력의처리 기본게임루프 Initialization Game Logic

More information

LCD Display

LCD Display LCD Display SyncMaster 460DRn, 460DR VCR DVD DTV HDMI DVI to HDMI LAN USB (MDC: Multiple Display Control) PC. PC RS-232C. PC (Serial port) (Serial port) RS-232C.. > > Multiple Display

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 PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272) 게임엔진 제 13 강 ofusion 씬구성 이대현교수 한국산업기술대학교게임공학과 학습목차 Ofusion 을이용한 export Export 된씬의재현 씬노드애니메이션을이용한수동카메라트래킹 ofusion OGRE3D 엔진용 3D MAX 익스포터 http://www.ofusiontechnologies.com ofusion 의특징 Realtime Viewport 3D

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

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

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

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

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

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

int main(void) int a; int b; a=3; b=a+5; printf(a : %d \n, a); printf(b : %d \n, b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf( a : %x \ ? 1 int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \n", &a); printf(" b : %x \n", &b); * : 12ff60,

More information

Microsoft Word - cg07-final.doc

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

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

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

Microsoft PowerPoint - Practical performance_KR_3.ppt

Microsoft PowerPoint - Practical performance_KR_3.ppt 실용적 성능 분석 Koji Ashida NVIDIA Developer Technology Group 개요 분석툴 파이프라인 병목현상 발견 문제를 지목하는 방법 분석 툴 NVPerfHUD 다양한 주요 통계의 그래프 오버레이 보고되는 측정값들은 다음을 포함: GPU_Idle Driver_Waiting Time_in_Driver Frame_Time AGP / Video

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

<4D F736F F F696E74202D20C1A63130B0AD202D20C1F6C7FCB0FA20C7CFB4C3C0C720B7BBB4F5B8B5>

<4D F736F F F696E74202D20C1A63130B0AD202D20C1F6C7FCB0FA20C7CFB4C3C0C720B7BBB4F5B8B5> 게임엔진 제 10 강지형과하늘의렌더링 이대현교수 한국산업기술대학교게임공학과 학습목차 지형렌더링 하늘렌더링 육면체하늘 (SkyBox) 반구하늘 (SkyDome) 평면하늘 (SkyPlane) 실습 Terrain 지형의렌더링 장면설정 Y Step 1: 장면관리자설정 Step 2: 닌자의배치 Step 3: 광원생성및그림자표시 Step 4: 장면에지형을배치 X Z PlayState.cpp

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

디지털영상처리3

디지털영상처리3 비트맵개요 BMP 파일의이해실제 BMP 파일의분석 BMP 파일을화면에출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic Device

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

(Microsoft PowerPoint - \301\24608\260\255 - \261\244\277\370\260\372 \300\347\301\372)

(Microsoft PowerPoint - \301\24608\260\255 - \261\244\277\370\260\372 \300\347\301\372) 게임엔진 제 8 강광원과재질 이대현교수 한국산업기술대학교게임공학과 학습목차 조명모델 광원의색상설정 재질 분산성분의이해 분산재질의구현 경반사성분의이해 경반사재질의구현 조명 (Illumination) 모델 조명모델 광원으로부터공간상의점들까지의조도를계산하는방법. 직접조명과전역조명 직접조명 (direct illumination) 모델 물체표면의점들이장면내의모든광원들로부터직접적으로받는빛만을고려.

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

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

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

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

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

3주차_Core Audio_ key

3주차_Core Audio_ key iphone OS Sound Programming 5 Core Audio For iphone OS 2010-2 Dept. of Multimedia Science, Sookmyung Women's University JongWoo Lee 1 Index 1. Introduction 2. What is Core Audio? 3. Core Audio Essentials

More information

B _01_M_Korea.indb

B _01_M_Korea.indb DDX7039 B64-3602-00/01 (MV) SRC... 2 2 SRC % % % % 1 2 4 1 5 4 5 2 1 2 6 3 ALL 8 32 9 16:9 LB CD () : Folder : Audio fi SRC 0 0 0 1 2 3 4 5 6 3 SRC SRC 8 9 p q w e 1 2 3 4 5 6 7 SRC SRC SRC 1 2 3

More information

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. 오늘할것 5 6 HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. Review: 5-2 7 7 17 5 4 3 4 OR 0 2 1 2 ~20 ~40 ~60 ~80 ~100 M 언어 e ::= const constant

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

Index Process Specification Data Dictionary

Index Process Specification Data Dictionary Index Process Specification Data Dictionary File Card Tag T-Money Control I n p u t/o u t p u t Card Tag save D e s c r i p t i o n 리더기위치, In/Out/No_Out. File Name customer file write/ company file write

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

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Chapter 6.ppt 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)

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

DDX4038BT DDX4038BTM DDX4038 DDX4038M 2010 Kenwood Corporation All Rights Reserved. LVT A (MN)

DDX4038BT DDX4038BTM DDX4038 DDX4038M 2010 Kenwood Corporation All Rights Reserved. LVT A (MN) DDX4038BT DDX4038BTM DDX4038 DDX4038M 2010 Kenwood Corporation All Rights Reserved. LVT2201-002A (MN) 2 3 [ ] CLASS 1 LASER PRODUCT 4 1 2 Language AV Input R-CAM Interrupt Panel Color Preout

More information

슬라이드 1

슬라이드 1 디지털이미지와컴퓨터그래픽스 2010.03.25 첨단영상대학원박경주교수, kjpark@cau.ac.kr, 02-820-5823 http://cau.ac.kr/~kjpark, http://graphics.cau.ac.kr/ Topics 박경주교수 (kjpark@cau.ac.kr) 디지털이미지 모델링 모션그래픽스연구실 (http://graphics.cau.ac.kr/)

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

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint - GameDesign6-Graphics.ppt [호환 모드]

Microsoft PowerPoint - GameDesign6-Graphics.ppt [호환 모드] Game Graphics Isometric Games 470420-1 Fall 2013 10/14/2013 Kyoung Shin Park Multimedia Engineering Dankook University Sprite-based graphics Basics of Isometric Games 스프라이트게임 (sprite games) 은일반적으로 Top

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

DIY 챗봇 - LangCon

DIY 챗봇 - LangCon without Chatbot Builder & Deep Learning bage79@gmail.com Chatbot Builder (=Dialogue Manager),. We need different chatbot builders for various chatbot services. Chatbot builders can t call some external

More information

Chapter_02-3_NativeApp

Chapter_02-3_NativeApp 1 TIZEN Native App April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 목차 2 Tizen EFL Tizen EFL 3 Tizen EFL Enlightment Foundation Libraries 타이젠핵심코어툴킷 Tizen EFL 4 Tizen

More information

<4D F736F F F696E74202D20C1A63037B0AD202D20B1A4BFF8B0FA20B1D7B8B2C0DA>

<4D F736F F F696E74202D20C1A63037B0AD202D20B1A4BFF8B0FA20B1D7B8B2C0DA> 게임엔진 제 7 강광원과그림자 이대현교수 한국산업기술대학교게임공학과 학습내용 광원의종류 평면메쉬의생성방법 광원의구현 그림자의종류와구현 광원의종류 : 주변광원 주변광원 (Ambient Light) 동일한밝기의빛이장면안의모든물체의표면에서일정하게반사되는것. 공간안에존재하는빛의평균값 이론적인광원 광원의종류 : 지향광원 지향광원 (Directional Light) 한방향으로무한히뻗어나가는빛.

More information

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (1/9) [CSE4170: 기초컴퓨터그래픽스 ] 기말고사 담당교수 : 임인성 답은연습지가아니라답안지에기술할것. 답안지공간이부족할경우, 답안지뒷면에기술하고, 해당답안지칸에그사실을명기할것. 연습지는수거하

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (1/9) [CSE4170: 기초컴퓨터그래픽스 ] 기말고사 담당교수 : 임인성 답은연습지가아니라답안지에기술할것. 답안지공간이부족할경우, 답안지뒷면에기술하고, 해당답안지칸에그사실을명기할것. 연습지는수거하 서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (1/9) [CSE4170: 기초컴퓨터그래픽스 ] 기말고사 담당교수 : 임인성 답은연습지가아니라답안지에기술할것. 답안지공간이부족할경우, 답안지뒷면에기술하고, 해당답안지칸에그사실을명기할것. 연습지는수거하지않음. 1. 다음은색깔혼합 (Color Blending) 에관한문제이다. (c S α S

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

슬라이드 1

슬라이드 1 BMP 파일구조 김성영교수 금오공과대학교 컴퓨터공학부 학습목표 BMP 파일의구조및그특징을설명할수있다. 파일헤더및비트맵정보헤더의주요필드를구분하고그역할을설명할수있다. C언어를사용하여 BMP 파일을처리할수있다. 2 BMP 파일구조 File Header (BITMAPFILEHEADER) Bitmap Info. Header (BITMAPINFOHEADER) Headers

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

Microsoft PowerPoint - Class10_LOD와자료구조.pptx

Microsoft PowerPoint - Class10_LOD와자료구조.pptx LOD 와자료구조 목 차 LOD 공간자료구조 LOD 바운딩볼륨계층구조 Selection Criteria BSP 트리 종류 8진트리 Errors 장면그래프 Operators Terrain LOD Progressive Mesh 애니메이션및게임실습 2 LOD LOD 대용량 3D 데이터처리의필요성 Scientific and medical visualization Architectural

More information

Microsoft PowerPoint - 04-Model Class.pptx

Microsoft PowerPoint - 04-Model Class.pptx Digital 3D Anthropometry 4. Model Class Sungmin Kim SEOUL NATIONAL UNIVERSITY Model Class 의설계 모델링기법의개요 Introduction 3차원모델을정의하는클래스 점정보 면정보 법선벡터정보 색상정보 3차원모델과관련된기본함수 크기계산 법선벡터자동계산 이동 / 회전 기본물체만들기 데이터입출력

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

슬라이드 1

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

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

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

Microsoft PowerPoint - additional06.ppt [호환 모드] 보조자료 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park 복습 : Const 키워드왜사용? C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; //

More information

Microsoft PowerPoint - GameProgramming16-Camera.ppt

Microsoft PowerPoint - GameProgramming16-Camera.ppt Biding a Feibe Camea Cass Feibe Camea Camea Design Imementation Detais Camea 예제 3589 28년봄학기 6/4/27 박경신 Camea Design 구현동기 고정된카메라위치설정을위해서 D3DXMatiookAtH( ) 함수사용 장점 : 고정된위치에카메라를놓고목표지점을겨냥 단점 : 사용자입력에반응하여카메라를이동

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

istay

istay ` istay Enhanced the guest experience A Smart Hotel Solution What is istay Guest (Proof of Presence). istay Guest (Proof of Presence). QR.. No App, No Login istay. POP(Proof Of Presence) istay /.. 5% /

More information

디지털영상처리3

디지털영상처리3 비트맵 BMP 파일의 실제 BMP 파일의 BMP 파일을 화면에 개요 이해 분석 출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic

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

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

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

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

data

data 3D Game Programming 11 - ASE Animation afewhee@gmail.com 0. 목차 ASE 구조 Geometry Parsing Geometry Texture Parsing Material Texture Rigid Body Animation Scene Animation X-File Animation 1. ASE 구조 ASE Parsing

More information

Deok9_Exploit Technique

Deok9_Exploit Technique Exploit Technique CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 > 1. Shell Code 2. Security

More information

歯삼성SDI개요

歯삼성SDI개요 The problem statement Air LOSS. LOSS. The problem statement The problem statement The Goal statement Base Line 1,864 / Goal 1,677 / Entitlement 1,584 / 2001 LOSS 10% Define of Physical Output Defining

More information

3D MAX + WEEK 9 Hansung Univ. Interior Design

3D MAX + WEEK 9 Hansung Univ. Interior Design 3D MAX + WEEK 9 Hansung Univ. Interior Design 3D MAX + UNREAL ENGINE 4 4 4 이용하여 애니메이션 만들기 Max에서 준비하기 공간 만들기 Max에서 준비하기 박공지붕 만들기: 5000mm만큼 올리기 Max에서 준비하기 창만들기: 한쪽 벽만 창 제작 Max에서 준비하기 벽체 분리:Detach Max에서 준비하기

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Programming Languages 모듈과펑터 2016 년봄학기 손시운 (ssw5176@kangwon.ac.kr) 담당교수 : 임현승교수님 모듈 (module) 관련있는정의 ( 변수또는함수 ) 를하나로묶은패키지 예약어 module과 struct end를사용하여정의 아래는모듈의예시 ( 우선순위큐, priority queue) # module PrioQueue

More information

CPX-E-EC_BES_C_ _ k1

CPX-E-EC_BES_C_ _ k1 CPX-E CPX-E-EC EtherCAT 8071155 2017-07 [8075310] CPX-E-EC CPX-E-EC-KO EtherCAT, TwinCAT (). :, 2 Festo CPX-E-EC-KO 2017-07 CPX-E-EC 1... 4 1.1... 4 1.2... 4 1.3... 4 1.4... 5 1.5... 5 2... 6 2.1... 6

More information

2

2 2 3 4 12TH ANNIVERSARY NEXT G-BUSINESS 5 6 7 12TH ANNIVERSARY NEXT DEVICE 1 8 9 NEXT DEVICE2 10 11 VS NEXT DEVICE3 12TH ANNIVERSARY 12 13 14 15 16 17 18 19 20 1 2 3 21 22 Check List Check List Check List

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Microsoft Word - cg07-midterm.doc

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

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

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information