Microsoft PowerPoint - GameProgramming15-MeshII

Size: px
Start display at page:

Download "Microsoft PowerPoint - GameProgramming15-MeshII"

Transcription

1 Mesh Part II Mesh Part II ID3DXBuffer XFiles 데이터를 ID3DXMesh 객체로읽어들이는방법 프로그레시브메쉬 (Progressive mesh) 를이용하여얻을수있는이점에대한이해와메쉬인터페이스 ID3DXPMesh 이용방법 년봄학기 5/9/2007 박경신 경계볼륨 (Bounding volume) 의정의와용도에대한학습과 D3DX 함수를이용하여만드는방법 예제 ID3DXBuffer ID3DXBuffer ID3DXBuffer D3DX 가연속적인메모리블록에데이터를저장하기위해이용하는범용데이터구조체 LPVOID GetBufferPointer(VOID); // 데이터시작포인터반환 DWORD GetBufferSize(VOID); // 버퍼크기를 byte 단위로반환 데이터타입은프로그래머가관리해야함 DWORD* info = (DWORD*)adjacencyInfo->GetBufferPointer( ); D3DXMATERIAL *mtrls = (D3DXMATERIAL*)mtrlBuffer->GetBufferPointer( ); ID3DXBuffer 생성하기 HRESULT D3DXCreateBuffer ( DWORD NumBytes, // 버퍼크기 (in bytes) LPD3DXBUFFER *ppbuffer); // ID3DXBuffer 예제 : // 4 개의정수를보관할수있는 buffer 의생성 ID3DXBuffer* buffer = 0; D3DXCreateBuffer( 4*sizeof(int), &buffer ); 메모리누출을막기위해, 반드시이용후에는객체를 release시킴 adjacencyinfo->release( ); mtrlbuffer->release( );

2 XFiles 3D 모델러를사용하여복잡한물체를생성 3DS Max ( LightWave3D ( Maya ( Multigen Creator ( Soft Image ( 생성된메쉬데이터 ( 기하정보, 재질, 애니메이션등과같은데이터 ) 를 XFile 포맷으로변환가능 3D 모델 Exporter Okino Polytrans ( Converting 3DS MAX to X File Plug-in tool 을사용하는방법 DirectX Extensions for Discreet 3ds max Version7 MSDN Home -> MSDN Library -> Win32 and COM development -> Graphics and Multimedia -> DirectX -> DirectX 9.0 SDK Update (April 2005) C++ -> The DirectX Software Development Kit -> DirectX Tools -> DirectX Content Tools -> DirectX Extensions for DCC applications Version4.5 MSDN Home -> MSDN Library Archive -> Graphics and Multimedia -> DirectX -> Tools -> X File Exporter for Discreet s 3ds max 3D Max object 를.x 파일로 export 해주는 plug-in tool - Pandasoft Converting 3DS MAX to X File Converter 를사용하는방법 See conv3ds.exe cs/xfiles/convertingexporting/conv3ds/specifyingoptionalargumen ts.asp Run conv3ds.exe Command prompt 상태에서 conv3ds File.3ds 하면.x file 생성 Version4.5 MSDN Home -> MSDN Library Archive -> DirectX Graphics -> Tools -> X File Exporter for Discreet s 3ds max Load Xfiles ID3DXMesh 객체를생성하고 XFile 의기하정보데이터를읽어들이는함수 : D3DXLoadMeshFromX HRESULT D3DXLoadMeshFromX ( LPCSTR pfilename, DWORD Options, LPDIRECT3DDEVICE9 pdevice, LPD3DXBUFFER* ppadjacency, LPD3DXBUFFER* ppmaterials, LPD3DXBUFFER* ppeffectinstances, PDWORD pnummaterials, LPD3DXMESH* ppmesh); pfilename 읽어들이고자하는 Xfile 의파일명 Options 생성플래그 (D3DXMESH 열거형 ) ppadjacency, ppmaterials, ppeffectinstaces, pnummaterials, ppmesh 리턴받을인자들

3 Load XFiles 예제 : HRESULT hr = 0; ID3DXBuffer* adjbuffer = 0; ID3DXBuffer* mtrlbuffer = 0; DWORD nummtrls = 0; hr = D3DXLoadMeshFromX( "bigship1.x", D3DXMESH_MANAGED, Device, &adjbuffer, &mtrlbuffer, 0, &nummtrls, // # of D3DXMATERIAL structures // in mtrlbuffer &Mesh ); // loaded ID3DXMesh XFile Materials Xfile 에저장된재질정보의구조는 D3DXMATERIAL typedef struct D3DXMATERIAL { D3DMATERIAL9 MatD3D; LPSTR ptexturefilename; D3DXMATERIAL, *LPD3DXMATERIAL; XFile 은텍스처데이터를직접포함하지않음. 파일명만보관함. 리턴된 D3DMATERIAL 배열의 i번째항목은 i번째서브셋과대응되도록 XFile 정보를읽어들임. Example: XFile ID3DXMesh* Mesh = 0; std::vector<d3dxmaterial> Mtrls(0); std::vector<idirect3dtexture9*> Textures(0); bool Setup() { // Load XFile data ID3DXBuffer* adjbuffer = 0; ID3DXBuffer* mtrlbuffer = 0; DWORD nummtrls = 0; HRESULT hr = D3DXLoadMeshFromX( bigship1.x, D3DXMESH_MANAGED, Device, &adjbuffer, &mtrlbuffer, 0, &nummtrls, &Mesh); if (FAILE(hr)) { ::MessageBox(0, D3DXLoadMeshFromX() FAILED, 0, 0); return false; if (mtrlbuffer! = 0 && nummtrls!= 0) { // extract materials, and load textures D3DXMATERIAL* mtrls = (D3DXMATERIAL*) mtrlbuffer->getbufferpointer(); for (DWORD i = 0; I < nummtrls; i++) { // loading 시 MatD3d 에 ambient 값을가지지않으므로지금지정해줌 mtrls[i].matd3d.ambient = mtrls[i].matd3d.diffuse; Mtrls.push_back(mtrls[i].MatD3D); if ( mtrls[i].ptexturefilename!= 0) { // if it has an associative texture IDirect3DTexture9* tex = 0; D3DXCreateTextureFromFile(Device, mtrls[i].ptexturefilename, &tex); Textures.push_back( tex ); else { Textures.push_back(0); // if it has no texture d3d::release<id3dxbuffer*> (mtrlbuffer); Example: XFile // optimize the mesh to generate an attribute table hr = Mesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT D3DXMESHOPT_COMPACT D3DXMESHOPT_VERTEXCACHE, (DWORD*) adjbuffer->getbufferpointer(), 0, 0, 0); d3d::release<id3dxbuffer*>(adjbuffer); if (FAILED(hr)) { ::MessageBox(0, OptimizeInplace() FAILED, 0, 0); return false; // textures // lights // camera // projection matrix void Cleanup() { d3d::release<id3dmesh*>(mesh); for (i=0; i<(int)textures.size(); i++) d3d::release<idirect3dtexture9*>(textures[i]);

4 Example: XFile Example: XFile bool Display(float timedelta) { if (Device) { D3DXMATRIX xrot, yrot, World; static float y = 0.0f; D3DXMatrixRotationX(&xRot, D3DX_PI * 0.2f); D3DXMatrixRotationY(&yRot, y); y += timedelta; if (y >= 6.28f) y = 0.0f; World = xrot * yrot; Device->SetTransform(D3DTS_WORLD, &World); Device->Clear(0, 0, D3DCLEAR_TARGET D3DCLEAR_ZBUFFER, 0x , 1.0, 0); Device->BeginScene(); for (int i=0; i < (int) Mtrls.size(); i++) { Device->SetMaterial( &Mtrls[i] ); Device->SetTexture(0, Textures[i]); Mesh->DrawSubset(i); Device->EndScene(); Device->Present(0, 0, 0, 0); Creating Vertex Normals ID3DXBaseMesh 의버텍스법선계산함수 XFile 에버텍스법선데이터가없다면, 조명을위해직접 vertex normal 을계산해야한다. 계산원리 이웃하는면법선벡터의평균을이용 인접정보 중복된버텍스는무시하기위해사용 HRESULT D3DXComputeNormals ( LPD3DXBASEMESH pmesh, CONST DWORD *padjacency); pmesh - 버텍스포맷은반드시 D3DFVF_NORMAL 플래그를포함해야한다. D3DXComputeNormals 함수이용전에버텍스포맷지정 padjacency 각면마다3개의 DWORD를가지는배열. 안쓰면 NULL로지정한다. Creating Vertex Normals D3DXComputeNormals 사용법 XFile 이 vertex normal 를가지고있지않다면해당하는 ID3DXMesh 객체의 FVF 도 D3DFVF_NORMAL flag 가없음. if(!(pmesh->getfvf() & D3DFVF_NORMAL) ) { ID3DXMesh* ptempmesh = 0; pmesh->clonemeshfvf ( D3DXMESH_MANAGED, pmesh->getfvf() D3DFVF_NORMAL, Device, &ptempmesh ); D3DXComputeNormals( ptempmesh, 0 ); pmesh->release(); pmesh = ptempmesh;

5 Progressive Mesh ID3DXPMesh 인터페이스에의해표현 경계상실변환 (ECT: edge collapse transformation) sequence 를적용하여메쉬를단순화할수있도록해준다 한 ECT 는한 vertex 와 1~2 개의 face 를제거함 각 ECT 는 (vertex split 를통해 ) reversible 함 Progressive Mesh ECT vs. 버텍스분할 (vertex split) v l v u v r ecollapse(v u,v t,v s ) v l v r v t vsplit(vs,v v s l,v r,v u,v t ) ECT 를이용한단순화과정을되돌려원래상태의메쉬로돌아갈수있음 높은해상도중간해상도낮은해상도 Progressive Mesh 이용방법 : 카메라와의거리에따라메쉬의 LOD (Level- Of-Details) 를조정할수있음 작고먼메쉬는크고가까운메쉬만큼많은삼각형이필요치않음 카메라와의거리가감소하면메쉬의세부 (detail) 를높이고거리가증가하면세부를감소시킴 참조논문 Progressive Meshes (Hugues Hoppe, SIGGRAPH 96) Creating Progressive Mesh ID3DXPMesh 객체생성함수 D3DXGeneratePMesh HRESULT D3DXGeneratePMesh ( LPD3DXMESH pmesh, CONST DWORD *padjacency, CONST LPD3DXATTRIBUTEWEIGHTS pvertexattributeweights, CONST FLOAT *pvertexweights, DWORD MinValues, DWORD Options, LPD3DXPMESH *pppmesh); pvertexattributeweights D3DXATTRIBUTEWEIGHTS 배열 (pmesh->getnumvertices() 크기 ) 로의포인터 pvertexweights pmesh->getnumvertices() 크기를갖는 float array MinValue 단순화결과로얻어질최소한의버텍스나면개수 Options D3DXMESHSIMP_VERTEX, D3DXMESHSIMP_FACE, MinValue가 vertrex/face에적용됨을지정함

6 Vertex Attribute Weights 버텍스속성영향력구조체 typedef struct _D3DXATTRIBUTEWEIGHTS { FLOAT Position; FLOAT Boundary;// blend weight FLOAT Normal; // normal FLOAT Diffuse; // diffuse light value FLOAT Specular; // specular light value FLOAT Texcoord[8]; // texture coordinates FLOAT Tangent; FLOAT Binormal; D3DXATTRIBUTEWEIGHTS; 각요소의영향력을지정할수있도록함 값이높을수록버텍스의영향력이높아져단순화과정에서제거될가능성이낮아짐 ( 최소값 = 0.0) default 영향력값을이용하는것이좋음 Vertex Attribute Weights Default vertex attribute weights: D3DXATTRIBUTEWEIGHTS AttributeWeights; AttributeWeights.Position = 1.0; AttributeWeights.Boundary = 1.0; AttributeWeights.Normal = 1.0; AttributeWeights.Diffuse = 0.0; AttributeWeights.Specular = 0.0; AttributeWeights.Texcoord[8] = { 0, 0, 0, 0, 0, 0, 0, 0 ; ID3DXPMesh Methods ID3DXPMesh 인터페이스는 ID3DXBaseMesh 인터페이스를상속받음 ID3DXMesh 의모든기능을가짐 ID3DXBaseMesh ID3DXPMesh ID3DXPMesh Methods ID3DXBaseMesh 로부터상속받은것외에추가된 method DWORD ID3DXPMesh::GetMaxFaces(VOID); 최대 face 수 DWORD ID3DXPMesh::GetMaxVertices(VOID); 최대 vertex 수 DWORD ID3DXPMesh::GetMinFaces(VOID); 최소 face 수 DWORD ID3DXPMesh::GetMinVertices(VOID); 최소 vertex 수 HRESULT ID3DXPMesh::SetNumFaces(DWORD Faces); LOD 지정함수. 호출후의 face의수는지정한faces값보다 1 작을수있음. 항상최대 / 최소범위내에있도록함 HRESULT ID3DXPMesh::SetNumVertices(DWORD Vertices); LOD 지정함수. 호출후의 vertex의수는지정한vertices값보다 1 작을수있음. 항상최대 / 최소범위내에있도록함

7 ID3DXPMesh Methods ID3DXBaseMesh 로부터상속받은것외에추가된 method HRESULT ID3DXPMesh::TrimByFaces(DWORD NewFacesMin, DWORD NewFacesMax, DWORD *rgifaceremap, DWORD *rgivertremap) 새로운최소 / 최대 face 수를지정함. 새로운최소 / 최대범위는현재의최소 / 최대범위즉, GetMinFaces() 와 GetMaxFaces() 내에있어야함. rgifaceremap 과 rgivertremap 은각 face/vertex 당한 DWORD 로 face/vertex 의 remap 정보를가짐 즉, i 번째 face/vertex 가어디로이동했는지 HRESULT ID3DXPMesh::TrimByVertices(DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD *rgifaceremap, DWORD *rgivertremap) 새로운최소 / 최대 vertex 수를지정함. 새로운최소 / 최대범위는현재의최소 / 최대범위즉, GetMinVertices() 와 GetMaxVertices() 내에있어야함. Example: Progressive Mesh ID3DXMesh* SourceMesh = 0; ID3DXPMesh* PMesh = 0; // progressive mesh bool Setup() { // Load XFile data ID3DXBuffer* adjbuffer = 0; ID3DXBuffer* mtrlbuffer = 0; DWORD nummtrls = 0; HRESULT hr = D3DXLoadMeshFromX( bigship1.x, D3DXMESH_MANAGED, Device, &adjbuffer, &mtrlbuffer, 0, &nummtrls, &SourceMesh); if (FAILE(hr)) { ::MessageBox(0, D3DXLoadMeshFromX() FAILED, 0, 0); return false; if (mtrlbuffer! = 0 && nummtrls!= 0) { // extract materials, and load textures D3DXMATERIAL* mtrls = (D3DXMATERIAL*) mtrlbuffer->getbufferpointer(); for (DWORD i = 0; I < nummtrls; i++) { // loading시 MatD3d에 ambient값을가지지않으므로지금지정해줌 mtrls[i].matd3d.ambient = mtrls[i].matd3d.diffuse; Mtrls.push_back(mtrls[i].MatD3D); if ( mtrls[i].ptexturefilename!= 0) { // if it has an associative texture IDirect3DTexture9* tex = 0; D3DXCreateTextureFromFile(Device, mtrls[i].ptexturefilename, &tex); Textures.push_back( tex ); else { Textures.push_back(0); // if it has no texture d3d::release<id3dxbuffer*> (mtrlbuffer); Example: Progressive Mesh Example: Progressive Mesh // optimize the mesh to generate an attribute table hr = SourceMesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT D3DXMESHOPT_COMPACT D3DXMESHOPT_VERTEXCACHE, (DWORD*) adjbuffer->getbufferpointer(), (DWORD*) adjbuffer->getbufferpointer(), // new adjacency information 0, 0); if (FAILED(hr)) { ::MessageBox(0, OptimizeInplace() FAILED, 0, 0); d3d::release<id3dxbuffer*>(adjbuffer); return false; // generate the progressive mesh hr = D3DXGeneratePMesh(SourceMesh, (DWORD*) adjbuffer-> GetBufferPointer(), 0, 0, 1, D3DXMESHSIMP_FACE, &PMesh); d3d::release<id3dxmesh*>(sourcemesh); d3d::release<id3dxbuffer*>(adjbuffer); if (FAILED(hr)) { ::MessageBox(0, D3DXGeneratePMesh() FAILED, 0, 0); return false; // set to original detail 이렇게하지않으면가장낮은해상도로렌더링함. DWORD maxfaces = Pmesh->GetMaxFaces(); PMesh->SetNumFaces(maxFaces); // textures // lights // camera // projection matrix

8 Example: Progressive Mesh Example: Progressive Mesh bool Display(float timedelta) { if (Device) { //update mesh resolution int numfaces = PMesh->GetNumFaces(); // current number of faces if (::GetAsyncKeyState( A ) & 0x8000f) { // add a face PMesh->SetNumFaces(numFaces + 1); if (PMesh->GetNumFaces() == numfaces) PMesh->SetNumFaces(numFaces + 2); // ECT 역변환이가능하도록함 if (::GetAsyncKeyState( S ) & 0x8000f) { // remove a face PMesh->SetNumFaces(numFaces - 1); Device->Clear(0, 0, D3DCLEAR_TARGET D3DCLEAR_ZBUFFER, 0x , 1.0, 0); Device->BeginScene(); for (int i=0; i < (int) Mtrls.size(); i++) { // draw pmesh using draw subset Device->SetMaterial( &Mtrls[i] ); // draw wireframe outline Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME); PMesh->DrawSubset(i); Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID); Device->EndScene(); Device->Present(0, 0, 0, 0); Bounding Volumes 가장자주이용되는경계볼륨 구 (sphere), 상자 (box) Bounding Sphere: 중심점, 반지름으로정의됨 Bounding Box: 최소점, 최대점으로정의됨 그외 원기둥 (cylinder), 타원체 (ellipsoid), 마름모꼴 (lozenge: 방석모양 ), 캡슐 (capsule) 용도 가시성테스트 (visibility test) 와충돌테스트의가속 max Bounding Volumes D3DX 라이브러리가제공하는경계구체와경계상자를계산하는함수 HRESULT D3DXComputeBoundingSphere ( LPD3DXVECTOR3 pfirstposition, // 첫번째 vertex DWORD NumVertices, DWORD dwstride, // 바이트단위의버텍스크기 D3DXVECTOR3* pcenter, // center of bounding sphere FLOAT* pradius); // radius of bounding sphere center radius min HRESULT D3DXComputeBoundingBox ( LPD3DXVECTOR3 pfirstposition, DWORD NumVertices, DWORD dwstride, // 바이트단위의버텍스크기 D3DXVECTOR3* pmin, // lower-left corner of bounding box D3DXVECTOR3* pmax); // upper-right corner of bounding box

9 Bounding Volumes d3dutility 새로운특수상수의추가 const float INFINITY = FLT_MAX; //float 에저장할수있는최대수 const float EPSILON = 0.001f; // 0 의의미로사용하는매우작은수 BoundingSphere/Box 타입추가 struct BoundingBox { BoundingBox(); bool ispointinside(d3dxvector3& p); D3DXVECTOR3 _min; D3DXVECTOR3 _max; ; struct BoundingSphere { BoundingSphere(); D3DXVECTOR3 _center; float _radius; ; Bounding Volumes d3dutility BoundingSphere/Box 타입추가 d3d::boundingbox::boundingbox() { _min.x = _min.y = _min.z = d3d::infinity; _max.x = _max.y = _max.z = -d3d::infinity; ; d3d::boundingbox::ispointinside(d3dxvector3& p) { if (p.x >= _min.x && p.y >= _min.y && p.z > = _min.z && p.x <= _max.x && p.y <= _max.y && p.z <= _max.z) ; d3d::boundingsphere::boundingsphere() { _radius = 0.0f; ; Example: Bounding Volumes ID3DXMesh* Mesh = 0; ID3DXMesh* SphereMesh = 0; // bounding sphere ID3DXMesh* BoxMesh = 0; // bounding box bool RenderBoundingSphere = true; bool ComputeBoundingSphere(ID3DXMesh* mesh, d3d::boundingsphere *sphere); bool ComputeBoundingBox(ID3DXMesh* mesh, d3d::boundingbox *box); bool Setup() { // load XFile data // extract the materials, load textures // optimize the mesh // compute bounding sphere and bounding box d3d::boundingsphere boundingsphere; d3d::boundingbox boundingbox; ComputeBoundingSphere(Mesh, &boundingsphere); ComputeBoundingBox(Mesh, &boundingbox); D3DXCreateSphere(Device, boundingsphere._radius, 20, 20, &SphereMesh, 0); D3DXCreateBox(Device, boundingbox._max.x boundingbox._min.x, boundingbox._max.y boundingbox._min.y, boundingbox._max.z boundingbox._min.z, &BoxMesh, 0); // textures, light, camera, projection matrix Example: Bounding Volumes bool Display(float timedelta) { if (Device) { //update mesh resolution // render // clear, BeginScene, draw mesh // draw bounding volume in blue, and at 10% opacity D3DXMATERIAL9 blue = d3d::blue_mtrl; blue.diffuse.a = 0.10f; Device->SetMaterial(&blue); Device->SetTexture(0, 0); // disable texture Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true); Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); if (RenderBoundingSphere) SphereMesh->DrawSubset(0); else BoxMesh->DrawSubset(0); // EndScene, Present

10 Example: Bounding Volumes Example: Bounding Volumes bool ComputeBoundingSphere(ID3DXMesh* mesh, d3d::boundingsphere *sphere) { HRESULT hr = 0; BYTE* v = 0; mesh->lockvertexbuffer(0, (void**) &v); hr = D3DXComputeBoundingSphere((D3DXVECTOR3*) v, mesh->getnumvertices(), D3DXGetFVFVertexSize(mesh->GetFVF()), &sphere->_center, &sphere->_radius); mesh->unlockvertexbuffer(); if (FAILED(hr)) return false; bool ComputeBoundingBox(ID3DXMesh* mesh, d3d::boundingbox *box) { HRESULT hr = 0; BYTE* v = 0; mesh->lockvertexbuffer(0, (void**) &v); hr = D3DXComputeBoundingBox((D3DXVECTOR3*) v, mesh->getnumvertices(), D3DXGetFVFVertexSize(mesh->GetFVF()), &box->_min, &box->_max); mesh->unlockvertexbuffer(); if (FAILED(hr)) return false;

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 - GameProgramming23-PixelShader.ppt

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

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 Word - game08-midterm.doc

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

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

Microsoft PowerPoint - 10terrain.ppt

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

More information

Microsoft PowerPoint - animation

Microsoft PowerPoint - animation 다이렉트 X 9.0 SDK 에서 제공하는 Skinned Animation 1 애니메이션 3 차원그래픽에서애니메이션이란메시나텍스처등의오브젝트를 3 차원공간에서움직이게하는것을통칭하는말이다. 일반적으로많이사용하는애니메이션기법 1. 버텍스애니메이션 (vertex animation) 2. 계층형애니메이션 (hierarchical animation) 3. 뼈대애니메이션

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

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 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

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

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

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

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

[ 마이크로프로세서 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

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

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

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

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

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

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

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

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

슬라이드 1

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

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

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

<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

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

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

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

More information

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 11 장포인터 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습합니다.

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

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

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 PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.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

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

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

Microsoft PowerPoint - 05geometry.ppt

Microsoft PowerPoint - 05geometry.ppt Graphic Applications 3ds MAX 의기초도형들 Geometry 3 rd Week, 2007 3 차원의세계 축 (Axis) X, Y, Z 축 중심점 (Origin) 축들이모이는점 전역축 (World Coordinate Axis) 절대좌표 지역축 (Local Coordinate Axis) 오브젝트마다가지고있는축 Y Z X X 다양한축을축을사용한작업작업가능

More information

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - chap-11.pptx 쉽게풀어쓴 C 언어 Express 제 11 장포인터 컴퓨터프로그래밍기초 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 컴퓨터프로그래밍기초 2 포인터란? 포인터 (pointer): 주소를가지고있는변수 컴퓨터프로그래밍기초 3 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다.

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

BMP 파일 처리

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

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

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 Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

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

슬라이드 1

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

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

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

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

언리얼엔진4_내지_150126.indd

언리얼엔진4_내지_150126.indd C 2015. 박승제 All Rights Reserved. 초판 1쇄 발행 2015년 2월 10일 지은이 박승제 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제406 2009 000087호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr / 이메일

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

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 - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.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

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

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

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E >

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

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

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

untitled

untitled 자료형 기본자료형 : char, int, float, double 등 파생자료형 : 배열, 열거형, 구조체, 공용체 vs struct 구조체 _ 태그 _ 이름 자료형멤버 _ 이름 ; 자료형멤버 _ 이름 ;... ; struct student int number; // char name[10]; // double height; // ; // x값과 y값으로이루어지는화면의좌표

More information

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

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

03_queue

03_queue Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,

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

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

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

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

PowerPoint Presentation

PowerPoint Presentation Blender 3D 를활용한 CAD/Surface Mesh Repair 삼성중공업해양부유체연구파트연성모 2016.09.29-30 Overview Background Blender3D Surface Repair에서의활용방법 Open Source Mesh Generator (SHM, cfmesh) 에서의활용방법 사용상의장애물 기타활용처 요약및결론 p2 Background

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

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

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

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

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

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

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

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

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 메소드의구조자주반복하여사용하는내용에대해특정이름으로정의한묶음 반환형메소드이름 ( 매개변수 ) { 실행문장 1; : 실행문장 N; } 메소드의종류 Call By Name : 메서드의이름에의해호출되는메서드로특정매개변수없이실행 Call By Value : 메서드를이름으로호출할때특정매개변수를전달하여그값을기초로실행하는메서드 Call By Reference : 메서드호출시매개변수로사용되는값이특정위치를참조하는

More information

<4D F736F F F696E74202D20C1A63037B0AD202D20B1A4BFF8B0FA20B1D7B8B2C0DA>

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

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

K_R9000PRO_101.pdf

K_R9000PRO_101.pdf GV-R9000 PRO Radeon 9000 PRO Upgrade your Life REV 101 GV-R9000 PRO - 2-2002 11 1 12 ATi Radeon 9000 PRO GPU 64MB DDR SDRAM 275MHz DirectX 81 SMARTSHADER ATI SMOOTHVISION 3D HYDRAVISION ATI CATLYST DVI-I

More information

디지털영상처리3

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

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

untitled

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

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

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

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

쉽게 풀어쓴 C 프로그래밍

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

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

Chap 6: Graphs

Chap 6: Graphs AOV Network 의표현 임의의 vertex 가 predecessor 를갖는지조사 각 vertex 에대해 immediate predecessor 의수를나타내는 count field 저장 Vertex 와그에부속된모든 edge 들을삭제 AOV network 을인접리스트로표현 count link struct node { int vertex; struct node

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

PowerPoint 프레젠테이션

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

More information