Microsoft PowerPoint - 10terrain.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - 10terrain.ppt"

Transcription

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

2 Sample: Terrain 주요내용 산이나계곡과같은자연스러운지형을표현하기위해지형의높이정보생성방법 지형을위한버텍스와삼각형데이터의생성방법 지형에조명과텍스처의적용방법 카메라를지형표면에위치시키고, 지형을따라걷거나뛰는방법

3 높이맵 (Heightmaps) 지형격자내의버텍스의높이값을요소가가지고있는배열 ( 일대일대응관계 ) 보통각요소에한바이트의메모리할당 (0~255) 필요에따라원하는배율로값을조정 그레이스케일맵 (grayscale map) 그레이스케일로표현된높이맵 높이맵만들기 이미지편집기사용 ( 예 : Adobe Photoshop) 이미지포맷 그레이스케일 8-bit RAW 파일로저장 ( 헤더없음 )

4 RAW 파일로딩하기 std::vector<int> _heightmap; bool Terrain::readRawFile(std::string filename) // Restriction: RAW file dimensions must be >= to the // dimensions of the terrain. That is a 128x128 RAW file // can only be used with a terrain constructed with at most // 128x128 vertices. // A height for each vertex std::vector<byte> in( _numvertices ); std::ifstream infile(filename.c_str(), std::ios_base::binary); if( infile == 0 ) return false; infile.read( (char*)&in[0], // buffer in.size());// number of bytes to read into buffer infile.close(); // copy BYTE vector to int vector _heightmap.resize( _numvertices ); for(int i = 0; i < in.size(); i++) _heightmap[i] = in[i]; return true; 높이맵접근과수정 행과열을지정하여항목을참조 int Terrain::getHeightmapEntry(int row, int col) return _heightmap[row * _numvertsperrow + col]; void Terrain::setHeightmapEntry(int row, int col, int value) _heightmap[row * _numvertsperrow + col] = value;

5 지형기하정보생성하기 (1) Start=( w/2, d/2) +Z CellSpacing +X d=depth Cell/Quad End=(w/2, d/2) w=width 지형기하정보생성하기 (2) class Terrain public: Terrain( IDirect3DDevice9* device, std::string heightmapfilename, int numvertsperrow, int numvertspercol, int cellspacing, // space between cells float heightscale); ~Terrain();... method snipped private:... device/vertex buffer etc snipped int _numvertsperrow; int _numvertspercol; int _cellspacing; int _numcellsperrow; int _numcellspercol; int _width; int _depth; int _numvertices; int _numtriangles; float _heightscale; std::vector<int> _heightmap; ;

6 Terrain 클래스의생성자 Terrain::Terrain(IDirect3DDevice9* device, std::string heightmapfilename, int numvertsperrow, int numvertspercol, int cellspacing, float heightscale) _device = device; _numvertsperrow = numvertsperrow; _numvertspercol = numvertspercol; _cellspacing = cellspacing; _numcellsperrow = _numvertsperrow - 1; _numcellspercol = _numvertspercol - 1; _width = _numcellsperrow * _cellspacing; _depth = _numcellspercol * _cellspacing; _numvertices = _numvertsperrow * _numvertspercol; _numtriangles = _numcellsperrow * _numcellspercol * 2; _heightscale = heightscale; // load heightmap // scale heights // compute the vertices // compute the indices 지형을위한버텍스구조체 Terrain 클래스내부에중첩됨 Terrain 클래스외부에서는필요치않기때문 struct TerrainVertex TerrainVertex() TerrainVertex(float x, float y, float z, float u, float v) _x = x; _y = y; _z = z; _u = u; _v = v; float _x, _y, _z; float _u, _v; ; static const DWORD FVF; const DWORD Terrain::TerrainVertex::FVF = D3DFVF_XYZ D3DFVF_TEX1;

7 버텍스계산하기 (1) (x, y, z) 좌표 x 와 z 좌표 : 시작점 (start) 에서버텍스를생성하여끝점 (end) 에이를때까지셀간격 (cell spacing) 만큼간격을비우면서버텍스들생성 y 좌표 : 읽어들인높이맵 (hightmap) 데이터구조체내의대응되는항목 텍스처좌표 (u, v) v = u = i ucoordincrementsize j vcoordincrementsize 1 ucoordincrementsize = numcellcols 1 vcoordincrementsize = numcellrows (0, 0) (1, 0) (0, 1) (1, 1) +V +U 버텍스계산하기 (2) bool Terrain::computeVertices() HRESULT hr = 0; hr = _device->createvertexbuffer( _numvertices * sizeof(terrainvertex), D3DUSAGE_WRITEONLY, TerrainVertex::FVF, D3DPOOL_MANAGED, &_vb, 0); if(failed(hr)) return false; // coordinates to start generating vertices at int startx = -_width / 2; int startz = _depth / 2; // coordinates to end generating vertices at int endx = _width / 2; int endz = -_depth / 2; // compute the increment size of the texture coordinates // from one vertex to the next. float ucoordincrementsize = 1.0f / (float)_numcellsperrow; float vcoordincrementsize = 1.0f / (float)_numcellspercol;

8 버텍스계산하기 (3) TerrainVertex* v = 0; _vb->lock(0, 0, (void**)&v, 0); int i = 0; for(int z = startz; z >= endz; z -= _cellspacing) int j = 0; for(int x = startx; x <= endx; x += _cellspacing) // compute the correct index into the vertex buffer and heightmap // based on where we are in the nested loop. int index = i * _numvertsperrow + j; v[index] = TerrainVertex( (float)x, (float)_heightmap[index], (float)z, (float)j * ucoordincrementsize, (float)i * vcoordincrementsize); j++; // next column i++; // next row _vb->unlock(); return true; 인덱스계산 삼각형정의하기 (1) 각사각형을구성하는두개의삼각형을차례로계산 Vertex Column j Vertex Column j+1 (0, 0) Vertex Row i Vertex Row i+1 A C ijth cell B D ABC = CBD = (m, n) i numvertsperrow + j, i numvertsperrow + j + 1, ( i + 1) numvertsperrow + j ( i + 1) numvertsperrow + j, i numvertsperrow + j + 1, ( i + 1) numvertsperrow + j + 1

9 인덱스계산 삼각형정의하기 (2) bool Terrain::computeIndices() HRESULT hr = 0; hr = _device->createindexbuffer( _numtriangles * 3 * sizeof(word), // 3 indices per tri. D3DUSAGE_WRITEONLY, D3DFMT_INDEX16, D3DPOOL_MANAGED, &_ib, 0); if(failed(hr)) return false; 인덱스계산 삼각형정의하기 (3) WORD* indices = 0; _ib->lock(0, 0, (void**)&indices, 0); // index to start of a group of 6 indices that describe the // two triangles that make up a quad int baseindex = 0; // loop through and compute the triangles of each quad for(int i = 0; i < _numcellspercol; i++) for(int j = 0; j < _numcellsperrow; j++) indices[baseindex] = i * _numvertsperrow + j; indices[baseindex + 1] = i * _numvertsperrow + j + 1; indices[baseindex + 2] = (i+1) * _numvertsperrow + j; indices[baseindex + 3] = (i+1) * _numvertsperrow + j; indices[baseindex + 4] = i * _numvertsperrow + j + 1; indices[baseindex + 5] = (i+1) * _numvertsperrow + j + 1; _ib->unlock(); return true; // next quad baseindex += 6;

10 텍스처링 (1) 지형에텍스처를입히는두가지방법 미리만들어둔텍스처파일을읽어들여이용 절차적으로텍스처를계산 텍스처파일로부터 _tex 데이터멤버로텍스처를읽어들임 (IDirect3DTexture9) bool Terrain::loadTexture(std::string filename) HRESULT hr = 0; hr = D3DXCreateTextureFromFile( _device, filename.c_str(), &_tex); if(failed(hr)) return false; return true; 텍스처링 (2) 절차적방식 빈 텍스처를만든다음, 인자를바탕으로코드에서텍셀의컬러를계산 방법 예 ) 지형의높이를인자로이용 낮은고도 ( 모래해변색상 ), 중간고도 ( 풀덮인언덕색상 ), 높은고도 ( 눈덮인산색상 ) 빈텍스처를만들고최상위레벨 ( 밉맵 ) 을잠금 각사각형의높이에따라텍셀의컬러를결정 텍셀을비추는태양빛의각도에따라텍셀의밝기를조정 조명 하위밉맵레벨의텍셀을게산

11 텍스처링 (3) bool Terrain::genTexture(D3DXVECTOR3* directiontolight) // Method fills the top surface of a texture procedurally. Then // lights the top surface. Finally, it fills the other mipmap // surfaces based on the top surface data using D3DXFilterTexture. HRESULT hr = 0; // texel for each quad cell int texwidth = _numcellsperrow; int texheight = _numcellspercol; // create an empty texture hr = D3DXCreateTexture( _device, texwidth, texheight, 0, // create a complete mipmap chain 0, // usage D3DFMT_X8R8G8B8,// 32 bit XRGB format D3DPOOL_MANAGED, &_tex); if(failed(hr)) return false; D3DSURFACE_DESC texturedesc; _tex->getleveldesc(0 /*level*/, &texturedesc); // make sure we got the requested format because our code // that fills the texture is hard coded to a 32 bit pixel depth. if( texturedesc.format!= D3DFMT_X8R8G8B8 ) return false; 텍스처링 (4) D3DLOCKED_RECT lockedrect; _tex->lockrect(0 /*lock top surface*/, &lockedrect, 0 /*lock entire tex*/, 0 /*flags*/); DWORD* imagedata = (DWORD*)lockedRect.pBits; for(int i = 0; i < texheight; i++) for(int j = 0; j < texwidth; j++) D3DXCOLOR c; // get height of upper left vertex of quad. float height = (float)getheightmapentry(i, j) / _heightscale; if( (height) < 42.5f ) else if( (height) < 85.0f ) else if( (height) < 127.5f ) else if( (height) < 170.0f ) else if( (height) < 212.5f ) else c = d3d::beach_sand; c = d3d::light_yellow_green; c = d3d::puregreen; c = d3d::dark_yellow_green; c = d3d::darkbrown; c = d3d::white; // fill locked data, note we divide the pitch by four because the // pitch is given in bytes and there are 4 bytes per DWORD. imagedata[i * lockedrect.pitch / 4 + j] = (D3DCOLOR)c; _tex->unlockrect(0);

12 텍스처링 (5) if(!lightterrain(directiontolight)) ::MessageBox(0, "lightterrain() - FAILED", 0, 0); return false; hr = D3DXFilterTexture( _tex, 0, // default palette 0, // use top level as source level D3DX_DEFAULT); // default filter if(failed(hr)) ::MessageBox(0, "D3DXFilterTexture() - FAILED", 0, 0); return false; return true; 조명 (1) 광원에따른지형의음영계산 사실감증가 세가지장점 버텍스법선을저장하지않아도되므로메모리절약 Direct3D가지형에실시간으로조명을처리하는부담을덜수있음 지형은정적이며조명을움직이지않을것이므로, 미리조명계산이가능 약간의수학연습을할수있으며, 기본적인조명의개념과 Direct3D 함수에익숙해질수있음

13 조명 (2) 난반사광 (diffuse lighting) 방향성광원 ( 빛의방향이평행한평행광원 ) 방향 : 빛이발산되는방향과는반대방향 lightraysdirection=(0, -1, 0) directiontolight=(0, 1, 0) 빛을향하는벡터 L과사각형표면의법선벡터 N 사이의각도를계산 N L L N [0, 1] 범위의음영스칼라 표면이받는빛의양 컬러에음영스칼라를곱하면, 어두운또는밝은값이만들어짐 (a) (b) 사각형의음영계산하기 (1) 정규화된빛을향하는벡터벡터 Nˆ 사이의각도 외적을이용하여벡터 N 계산 u = v = ( cellspacing, by ay, 0) ( 0, c a, cellspacing) s = L ˆ N ˆ s: [-1, 1] [0, 1] y y N = u v N N ˆ = N Lˆ 과사각형의법선 +Y v=c-a c a +Z float cosine = D3DXVec3Dot(&n, directiontolight); if(cosine < 0.0f) cosine = 0.0f; u=b-a b +X

14 사각형의음영계산하기 (2) float Terrain::computeShade(int cellrow, int cellcol, D3DXVECTOR3* directiontolight) // get heights of three vertices on the quad float heighta = getheightmapentry(cellrow, cellcol); float heightb = getheightmapentry(cellrow, cellcol+1); float heightc = getheightmapentry(cellrow+1, cellcol); // build two vectors on the quad D3DXVECTOR3 u(_cellspacing, heightb - heighta, 0.0f); D3DXVECTOR3 v(0.0f, heightc - heighta, -_cellspacing); // find the normal by taking the cross product of two // vectors on the quad. D3DXVECTOR3 n; D3DXVec3Cross(&n, &u, &v); D3DXVec3Normalize(&n, &n); float cosine = D3DXVec3Dot(&n, directiontolight); if(cosine < 0.0f) cosine = 0.0f; return cosine; 지형에음영입히기 bool Terrain::lightTerrain(D3DXVECTOR3* directiontolight) HRESULT hr = 0; D3DSURFACE_DESC texturedesc; _tex->getleveldesc(0 /*level*/, &texturedesc); // make sure we got the requested format because our code that fills the // texture is hard coded to a 32 bit pixel depth. if( texturedesc.format!= D3DFMT_X8R8G8B8 ) return false; D3DLOCKED_RECT lockedrect; _tex->lockrect( 0, // lock top surface level in mipmap chain &lockedrect,// pointer to receive locked data 0, // lock entire texture image 0); // no lock flags specified DWORD* imagedata = (DWORD*)lockedRect.pBits; for(int i = 0; i < texturedesc.height; i++) for(int j = 0; j < texturedesc.width; j++) // index into texture, note we use the pitch and divide by // four since the pitch is given in bytes and there are // 4 bytes per DWORD. int index = i * lockedrect.pitch / 4 + j; // get current color of quad D3DXCOLOR c( imagedata[index] ); // shade current quad c *= computeshade(i, j, directiontolight);; // save shaded color imagedata[index] = (D3DCOLOR)c; _tex->unlockrect(0); return true;

15 지형위를 걷기 (1) 지형에따라카메라의높이 (y 좌표 ) 를조정 카메라의위치의 x 와 z 좌표를이용하여, 카메라가놓인셀을찾아내서높이를얻어냄 float Terrain::getHeight(float x, float z) // Translate on xz-plane by the transformation that takes // the terrain START point to the origin. x = ((float)_width / 2.0f) + x; z = ((float)_depth / 2.0f) - z; // Scale down by the transformation that makes the // cellspacing equal to one. This is given by // 1 / cellspacing since; cellspacing * 1 / cellspacing = 1. x /= (float)_cellspacing; z /= (float)_cellspacing; 지형위를 걷기 (2) Start +Z CellSpacing 1.0 +X +X p p start origin cell spacing 1.0 -z +z +Z

16 지형위를 걷기 (3) // From now on, we will interpret our positive z-axis as // going in the 'down' direction, rather than the 'up' direction. // This allows to extract the row and column simply by 'flooring' // x and z: float col = ::floorf(x); float row = ::floorf(z); // get the heights of the quad we're in: // // A B // *---* // / // *---* // C D float A = getheightmapentry(row, col); float B = getheightmapentry(row, col+1); float C = getheightmapentry(row+1, col); float D = getheightmapentry(row+1, col+1); floor(t) = 가장큰정수 t 셀을구성하는네버텍스의높이를얻어낼수있음 지형위를 걷기 (4) 셀의어떤삼각형에있는지? +X +Y v1 +Z (1,2) v0 y (x, z) v3 v2 +X +Z (0,0) // Translate by the transformation that takes the upper-left // corner of the cell we are in to the origin. Recall that our // cellspacing was nomalized to 1. Thus we have a unit square // at the origin of our +x -> 'right' and +z -> 'down' system. float dx = x - col; float dz = z - row; p p (1,1)

17 지형위를 걷기 (5) 선형보간 (linear interpolation) +Y vy A uy +Z B +Y dzvy A dxuy y +Z B C (x, z) C (x, z) +X +X 지형위를 걷기 (6) // Note the below computations of u and v are unnecessary, we really // only need the height, but we compute the entire vector to emphasis // the books discussion. float height = 0.0f; if(dz < 1.0f - dx) // upper triangle ABC float uy = B - A; // A->B float vy = C - A; // A->C // Linearly interpolate on each vector. The height is the vertex // height the vectors u and v originate from A, plus the heights // found by interpolating on each vector u and v. height = A + d3d::lerp(0.0f, uy, dx) + d3d::lerp(0.0f, vy, dz); else // lower triangle DCB float uy = C - D; // D->C float vy = B - D; // D->B // Linearly interpolate on each vector. The height is the vertex // height the vectors u and v originate from D, plus the heights // found by interpolating on each vector u and v. height = D + d3d::lerp(0.0f, uy, 1.0f-dx) + d3d::lerp(0.0f, vy, 1.0f-dz); return height; float d3d::lerp(float a, float b, float t) return a - (a*t) + (b*t);

18 Sample: Terrain Setup ( ) Terrain* TheTerrain = 0; Camera TheCamera(Camera::LANDOBJECT); FPSCounter* FPS = 0; bool Setup() // Create the terrain. D3DXVECTOR3 lightdirection(0.0f, 1.0f, 0.0f); TheTerrain = new Terrain(Device, "coastmountain64.raw", 64, 64, 10, 0.5f); TheTerrain->genTexture(&lightDirection); // Set texture filters. Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); // Set projection matrix. D3DXMATRIX proj; D3DXMatrixPerspectiveFovLH( &proj, D3DX_PI * 0.25f, // 45 - degree (float)width / (float)height, 1.0f, f); Device->SetTransform(D3DTS_PROJECTION, &proj); return true; void Cleanup() d3d::delete<terrain*>(theterrain); d3d::delete<fpscounter*>(fps);

19 Display ( ) bool Display(float timedelta) // Update the scene: if( Device )... [snipped input checking] D3DXVECTOR3 pos; TheCamera.getPosition(&pos); float height = TheTerrain->getHeight( pos.x, pos.z ); pos.y = height + 5.0f; // add height because we're standing up TheCamera.setPosition(&pos); D3DXMATRIX V; TheCamera.getViewMatrix(&V); Device->SetTransform(D3DTS_VIEW, &V); // Draw the scene: Device->Clear(0, 0, D3DCLEAR_TARGET D3DCLEAR_ZBUFFER, 0xff000000, 1.0f, 0); Device->BeginScene(); D3DXMATRIX I; D3DXMatrixIdentity(&I); if( TheTerrain ) TheTerrain->draw(&I, false); if( FPS ) FPS->render(0xffffffff, timedelta); Device->EndScene(); Device->Present(0, 0, 0, 0); return true; 약간의개선점 지형기하정보를다수의버텍스버퍼로나누는것이적합 최적의버텍스버퍼크기는? 하드웨어에따라다르기때문에실험을통해알아내야함 블록 (block) 지형의특정사각형영역을담당 큰메쉬를다수의작은메쉬로나누는함수 void D3DXSplitMesh( LPD3DXMESH pmeshin, const DWORD *padjacencyin, const DWORD MaxSize, const DWORD Options, DWORD *pmeshesout, LPD3DXBUFFER *ppmesharrayout, LPD3DXBUFFER *ppadjacencyarrayout, LPD3DXBUFFER *ppfaceremaparrayout, LPD3DXBUFFER *ppvertremaparrayout );

20 연습문제 Assignment #2 상대방비행기를격추시키는게임 기본지형모델 + 비행시뮬레이션 + 슈팅게임 요구사항 필수 새로운지형메쉬생성 2대이상의비행기 유연한비행시뮬레이션 미사일발사 옵션 미사일및비행기충돌체크 격추된비행기폭파 (14장파티클참조 ) 점수합산및레벨디자인 기타 (+α) 장애물, 보너스아이템등

21 기간및제출방법 11 월 14 일 ( 화 ) 10:00AM 수업시간전까지 지각제출은감점 (-10점/ 일 5일후받지않음 ) 제출방법 아래파일들을압축하여 제출 Source code (Debug 혹은 Release 폴더제외 ) Screen shot (jpg 이미지 1~2개 ) Self-check table ( 뒷장참조 ) 11월 14일 ( 화 ) 수업시간에시연할것 Self-Check Table 학번 : 이름 : 스스로채점후제출하시오. (O,, X 표기 ) 비행시뮬레이션 (50점) 1. 새로운지형메쉬를생성했는가? (10점) 2. 2대이상의비행기를렌더링했는가? (10점) 3. 유연한비행시뮬레이션이이루어지는가? (20점) 4. 미사일이발사되는가? (10점) Options (+α점) 1. 적군과아군의분류가가능한새로운비행기모델 (5점) 2. 조종하는방향으로비행기가기울어짐 (5점) 3. 비행기들사이의충돌체크 (10점) 4. 비행기와미사일사이의충돌체크 (10점) 5. 격추된비행기의폭파 (20점) 6. 점수합산및레벨디자인 난이도증가 (20점) 7. 기타 (+α점) :

Microsoft PowerPoint - GameProgramming23-PixelShader.ppt

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

More information

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

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

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

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

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

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

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

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

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

디지털영상처리3

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

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

슬라이드 1

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

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

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록 PowerSHAPE 따라하기 가구 장식 만들기 이번 호에서는 ArtCAM V를 이용하여 가구 장식물에 대해서 D 조각 파트를 생성해 보도록 하겠다. 중심 잎 만들기 투 레일 스윕 기능을 이용하여 개의 잎을 만들어보도록 하겠다. 미리 준비된 Wood Decoration.art 파일을 불러온다. Main Leaves 벡터 레이어를 on 시킨다. 릴리프 탭에 있는

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

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

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

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

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer....

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer.... SV2016 정적분석보고서 201214262 라가영 201313250 서지혁 June 9, 2016 1 Contents Contents 2 1 Abstract 3 2 Infer 3 2.1 Checkers................................ 3 2.2 Eradicate............................... 3 2.3 Infer..................................

More information

슬라이드 1

슬라이드 1 프로세싱 광운대학교로봇학부박광현 프로세싱실행 2 C:\processing-3.2.1 폴더 창나타내기 실행 정지 3 폭 높이 600 400 도형그리기 배경칠하기 5 background(255, 255, 255); R G B background(255, 0, 0); background(255, 122, 0); 선그리기 6 background(255, 122, 0);

More information

untitled

untitled 전방향카메라와자율이동로봇 2006. 12. 7. 특허청전기전자심사본부유비쿼터스심사팀 장기정 전방향카메라와자율이동로봇 1 Omnidirectional Cameras 전방향카메라와자율이동로봇 2 With Fisheye Lens 전방향카메라와자율이동로봇 3 With Multiple Cameras 전방향카메라와자율이동로봇 4 With Mirrors 전방향카메라와자율이동로봇

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

Week3

Week3 2015 Week 03 / _ Assignment 1 Flow Assignment 1 Hello Processing 1. Hello,,,, 2. Shape rect() ellipse() 3. Color stroke() fill() color selector background() 4 Hello Processing 4. Interaction setup() draw()

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

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

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

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

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

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

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

PL10

PL10 assert(p!=null); *p = 10; assert(0

More information

슬라이드 1

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

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

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

Microsoft PowerPoint - 07-Data Manipulation.pptx

Microsoft PowerPoint - 07-Data Manipulation.pptx Digital 3D Anthropometry 7. Data Analysis Sungmin Kim SEOUL NATIONAL UNIVERSITY Body 기본정보표시 Introduction 스케일조절하기 단면형상추출 단면정보관리 3D 단면형상표시 2 기본정보표시및스케일조절 UI 및핸들러구성 void fastcall TMainForm::BeginNewProject1Click(TObject

More information

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 정적분석서 - 영단어수집왕 - Team.# 3 과목명 소프트웨어모델링및분석 담당교수 유준범교수님 201011320 김용현 팀원 201111360 손준익 201111347 김태호 제출일자 2015-06-09 1 Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics

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

(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

public key private key Encryption Algorithm Decryption Algorithm 1

public key private key Encryption Algorithm Decryption Algorithm 1 public key private key Encryption Algorithm Decryption Algorithm 1 One-Way Function ( ) A function which is easy to compute in one direction, but difficult to invert - given x, y = f(x) is easy - given

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

untitled

untitled Huvitz Digital Microscope HDS-5800 Dimensions unit : mm Huvitz Digital Microscope HDS-5800 HDS-MC HDS-SS50 HDS-TS50 SUPERIORITY Smart Optical Solutions for You! Huvitz Digital Microscope HDS-5800 Contents

More information

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, 2018 1 George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. 실행후 Problem 1.3에 대한 Display결과가 나와야 함) George 그림은 다음과

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

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

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 Data structure: Assignment 1 Seung-Hoon Na October 1, 018 1 1.1 Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 multiline으로 구성될 수 있으며, 한 라인에는 임의의 갯수의 숫자가 순서대로 나열될

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5] The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

Microsoft Word - cg07-midterm.doc

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

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 5 강스케일링및회전 이대현교수 학습안내 학습목표 3D 오브젝트의확대, 축소및회전방법을이해한다. 학습내용 3D 오브젝트의확대및축소 (Scaling) 3D 오브젝트의회전 (Rotation) 변홖공갂 (Transform Space) SceneNode 의크기변홖 (Scale) void setscale ( Real x, Real y, Real z)

More information

Microsoft PowerPoint - IP11.pptx

Microsoft PowerPoint - IP11.pptx 열한번째강의카메라 1/43 1/16 Review 2/43 2/16 평균값 중간값 Review 3/43 3/16 캐니에지추출 void cvcanny(const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size = 3); aperture_size = 3 aperture_size

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

IKC43_06.hwp

IKC43_06.hwp 2), * 2004 BK21. ** 156,..,. 1) (1909) 57, (1915) 106, ( ) (1931) 213. 1983 2), 1996. 3). 4) 1),. (,,, 1983, 7 12 ). 2),. 3),, 33,, 1999, 185 224. 4), (,, 187 188 ). 157 5) ( ) 59 2 3., 1990. 6) 7),.,.

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 프레젠테이션

PowerPoint 프레젠테이션 11 곡선과곡면 01 Spline 곡선 02 Spline 곡면 03 Subdivision 곡면 C n 연속성 C 0 연속성 C 1 연속성 2 C 2 연속성 01 Spline 곡선 1. Cardinal Spline Curve 2. Hermite Spline Curve 3. Bezier Spline Curve 4. Catmull-Rom Spline Curve 5.

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770> 제목 : 미디어정보처리프로그래밍실습모음 일시 : 2002. 6. 15 작성자 : 성용철학번 : 한남대학교정보통신멀티미디어공학부 ( 전자정보통신전공 ) 미디어정보처리프로그래밍실습숙제설명 1.256 X 256 grayscale 의디스플레이프로그램 Resource View 의 menu item 에서 Display 밑에 Raw gray 라마든다음에그림과같이 ID 와

More information

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형 바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인

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 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

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

2007 학년도 하반기 졸업작품 아무도 모른다 (Nobody Knows) 얄리, 보마빼 (AIi, Bomaye) 외계인간 ( 外 界 人 間 ) 한국예술종합학교 연극원 극작과 예술전문사 2005523003 안 재 승

2007 학년도 하반기 졸업작품 아무도 모른다 (Nobody Knows) 얄리, 보마빼 (AIi, Bomaye) 외계인간 ( 外 界 人 間 ) 한국예술종합학교 연극원 극작과 예술전문사 2005523003 안 재 승 2007 학년도 하반기 졸업작품 아무도 모른다 (Nobody Knows) 알리, 보마예 (Ali, Bomaye) 외계인간 ( 外 界 A 間 ) 원 사 3 승 극 문 연 전 재 E 숨 } 닮 런 예 m 안 합 과 ; 조 O 자 숨 그, 예 시 국 하 2007 학년도 하반기 졸업작품 아무도 모른다 (Nobody Knows) 얄리, 보마빼 (AIi, Bomaye)

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

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

자바로

자바로 ! from Yongwoo s Park ZIP,,,,,,,??!?, 1, 1 1, 1 (Snow Ball), /,, 5,,,, 3, 3, 5, 7,,,,,,! ,, ZIP, ZIP, images/logojpg : images/imageszip :, backgroundjpg, shadowgif, fallgif, ballgif, sf1gif, sf2gif, sf3gif,

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

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

슬라이드 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

<4D F736F F F696E74202D20C1A63037B0AD202D20B1A4BFF8B0FA20B1D7B8B2C0DA>

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

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

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

Y 1 Y β α β Independence p qp pq q if X and Y are independent then E(XY)=E(X)*E(Y) so Cov(X,Y) = 0 Covariance can be a measure of departure from independence q Conditional Probability if A and B are

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

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

λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z)

λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z) λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z) Simple Type System - - 1+malloc(), {x:=1,y:=2}+2,... (stuck) { } { } ADD σ,m e 1 n 1,M σ,m e 1 σ,m e 2 n 2,M + e 2 n

More information

Ⅰ. Introduction 우리들을 둘러싸고 잇는 생활 환경속에는 무수히 많은 색들이 있습니다. 색은 구매의욕이나 기호, 식욕 등의 감각을 좌우하는 것은 물론 나뭇잎의 변색에서 초목의 건강상태를 알며 물질의 판단에 이르기까지 광범위하고도 큰 역할을 하고 있습니다. 하

Ⅰ. Introduction 우리들을 둘러싸고 잇는 생활 환경속에는 무수히 많은 색들이 있습니다. 색은 구매의욕이나 기호, 식욕 등의 감각을 좌우하는 것은 물론 나뭇잎의 변색에서 초목의 건강상태를 알며 물질의 판단에 이르기까지 광범위하고도 큰 역할을 하고 있습니다. 하 색 이론과 색채관리 Ⅰ. Introduction( 일반색채 이론) Ⅱ. 색의 표현 ⅰ) 색상 ⅱ) 명도 ⅲ) 채도 ⅳ) 색의 종류 ⅴ) 색의 삼원색 ⅵ) 색의 사원색 Ⅲ. 색의 전달 ⅰ) 변천과정 ⅱ) Color space Ⅳ. 색의 재현 ⅰ) 가법 혼합 ⅱ) 감법 혼합 ⅲ) C.C.M System Ⅴ. 색의 관리 ⅰ) 목적 ⅱ) 적용범위 ⅲ) 색차계 ⅳ)

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

슬라이드 제목 없음

슬라이드 제목 없음 2006-09-27 경북대학교컴퓨터공학과 1 제 5 장서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 슈퍼넷팅 (Supernetting) 2006-09-27 경북대학교컴퓨터공학과 2 서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 하나의네트워크를여러개의서브넷 (subnet) 으로분할 슈퍼넷팅 (supernetting) 여러개의서브넷주소를결합 The idea

More information

歯15-ROMPLD.PDF

歯15-ROMPLD.PDF MSI & PLD MSI (Medium Scale Integrate Circuit) gate adder, subtractor, comparator, decoder, encoder, multiplexer, demultiplexer, ROM, PLA PLD (programmable logic device) fuse( ) array IC AND OR array sum

More information

4.1 힘의모멘트 스칼라공식 4.1 힘의모멘트 스칼라공식 모멘트크기 (resultant moment) 2

4.1 힘의모멘트 스칼라공식 4.1 힘의모멘트 스칼라공식 모멘트크기 (resultant moment) 2 Engineering Mechanics 정역학 (Statics) 4장힘계의합력 1 GeoPave Lab. 4.1 힘의모멘트 스칼라공식 1 4.1 힘의모멘트 스칼라공식 4.1 힘의모멘트 스칼라공식 모멘트크기 (resultant moment) 2 4.1 힘의모멘트 The moment does not always cause r otation. The actual

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

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레 Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레드 블랙 트리를 구현하고자 한다. 1.1 2-3트리와 동등한 레드 블랙 트리 2-3트리와 동등한

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

DioPen 6.0 사용 설명서

DioPen 6.0 사용 설명서 1. DioPen 6.0...1 1.1...1 DioPen 6.0...1...1...2 1.2...2...2...13 2. DioPen 6.0...17 2.1 DioPen 6.0...17...18...20...22...24...25 2.2 DioPen 6.0...25 DioPen 6.0...25...25...25...25 (1)...26 (2)...26 (3)

More information

ºÎ·ÏB

ºÎ·ÏB B B.1 B.2 B.3 B.4 B.5 B.1 2 (Boolean algebra). 1854 An Investigation of the Laws of Thought on Which to Found the Mathematical Theories of Logic and Probabilities George Boole. 1938 MIT Claude Sannon [SHAN38].

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

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

슬라이드 1

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

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

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