Matematika” fakultetı “algoritmlastiriw hám programmalastiriw texnologiyalari” kafedrası
Direct3 D menen islew ushın isletiletuǵın birpara funktsiyalar xarakteristikası
Download 366.17 Kb.
|
Артыкбаев Жалгас курсовая работа
Direct3 D menen islew ushın isletiletuǵın birpara funktsiyalar xarakteristikası
Tómendegiler tiykarında: Direct3DCreate9,D3D_SDK_VERSION Direct3DCreate9 — запрос указателя на интерфейс ( Interfeysi ushın pointer talap ) IDirect3D9. Funktsiyanıń birden-bir parametri Direct3DCreate9 hardayim turaqlı bolıwı kerek D3D_SDK_VERSION. Qosımshanı qurıwda tuwrı header faylları isletiliwin támiyinlew. Funktsiya qáteler bolsa, ol nol pointer qaytadı. CreateDevice, pd3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd , D3DCREATE_SOFTWARE_VERTEXPROCESSING, ADDR BackBufferWidth, ADDR pd3dDevice Метод CreateDevice создает объект IDirect3DDevice9. HRESULT IDirect3D9::CreateDevice( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS *pPresentationParameters, IDirect3DDevice9** ppReturnedDeviceInterface ); Adapter jaratılǵan ob'ektti ańlatiwshı fizikalıq video adapter ámeldegi IDirect3DDevice9. DeviceType Isletiletuǵın apparat túrin (yaǵnıy, apparat apparatın ) belgileydi (D3DDEVTYPE_HAL) yamasa programmalıq támiynat (D3DDEVTYPE_REF)). hFocusWindow Apparat menen baylanıslı bolǵan ayna identifikatori. Ádetde, bul suwretti kórsetetuǵın ayna hám biziń maqsetlerimiz ushın biz bul erda a'zoda kórsetilgen birdey identifikatorni ornatamız d3dpp.hDeviceWindow qurami D3DPRESENT_PARAMETERS. BehaviorFlags bul parametr bahanı kórsetedi D3DCREATE_HARDWARE_VERTEXPROCESSING yamasa D3DCREATE_SOFTWARE_VERTEXPROCESSING. pPresentationParameters strukturanıń baslanǵısh nusqası kórsetilediD3DPRESENT_PARAMETERS, apparat parametrlerin belgilew. ppReturnedDeviceInterface jaratılǵan apparatqa kórsetkishni qaytaradı. D3DXMatrixRotationY, ADDR WorldMatrix, NULL D3DXMatrixRotationY - Eksa aylanıw Y (Вращение по оси Y). D3DXMATRIX* D3DXMatrixRotationY( D3DXMATRIX *pOut, FLOAT Angle ); Parametrler: pOut D3 dxmatrix strukturasınıń kórsetkishi, bul operatsiyanıń dáslepki nátiyjesine tosqınlıq etedi; Angle Y o'qi boylap radianlarda aylanıw múyeshi (угол вращения в радианах по оси Y) D3DXMatrixRotationZ, ADDR WorldMatrix, RotZ D3DXMatrixRotationZ - Вращение по оси Z. D3DXMATRIX* D3DXMatrixRotationZ( D3DXMATRIX *pOut, FLOAT Angle ); Parametrler: pOut D3 dxmatrix strukturasınıń kórsetkishi, bul operatsiyanıń dáslepki nátiyjesine tosqınlıq etedi; Angle Y o'qi boylap radianlarda aylanıw múyeshi (угол вращения в радианах по оси Y) D3DXMatrixLookAtLH, ADDR ViewMatrix, ADDR EyeVector, ADDR LookAtVector, ADDR UpVector D3DXMatrixLookAtLH - Túrlerdiń konvertatsiya matritsasini esaplań. D3DXMATRIX *D3DXMatrixLookAtLH( D3DXMATRIX* pOut, // Qaytıw aylandırıw matritsasi ushın pointer CONST D3DXVECTOR3* pEye, //Kamera saqnasında jaylasqan jay CONST D3DXVECTOR3* pAt, // Kamera jóneltirilgen noqat CONST D3DXVECTOR3* pUp // Joqarıǵa jónelisti belgileytuǵın vektor – (0, 1, 0) ); PEye parametri kameranıń jaylasqan jay noqatın belgileydi. Parametri kamera jóneltirilgen saqnanıń noqatın belgileydi. PUp parametri biziń saqnamız ushın " joqarıǵa" jónelisti belgileytuǵın vektor. Derlik mudamı y — (0, 1, 0) o'qi menen sáykes keletuǵın vektor. D3DXMatrixPerspectiveFovLH, ADDR ProjectionMatrix, FieldOfView, AspectRatio, NearViewPlanZ, FarViewPlanZ D3DXMatrixPerspectiveFovLH - Kórinip turǵan mákandıń kesilgen piramidasınıń tariypi tiykarında projektor matritsasini jaratadı. D3DXMATRIX *D3DXMatrixPerspectiveFovLH( D3DXMATRIX* pOut, // Joybar matritsasini qaytaradı FLOAT fovY, // Radianlarda vertikal kóriw FLOAT Aspect, //Format qatnası = keńsizlik / biyiklik FLOAT zn, // Aldinǵi yarımıǵa shekem bolǵan aralıq FLOAT zf // Arqa tegislikke aralıq ); Format qatnası parametri qosımsha túsindiriwlerge ılayıq bolıp tabıladı. Joybar aynası daǵı geometriya oxir-aqıbet ekran maydanına aylanadı. Suwretti kvadrat maydannan (proektsion aynadan ) ekranǵa kóshiriw, bul tórtmuyushler dep ataladı, bul buzılıwdıń payda bolıwına alıp keledi. Ekrandıń tárepleri arasındaǵı koefficient bolǵan format qatnası kvadrattı tórtmuyushka kórsetiwde júzege keletuǵın buzılıwlardı tuwrılaw ushın isletiledi. formatlı baylanıs = ekran keńligi / joqarı ekran D3DXLoadMeshFromXA, addr Teapot, D3DXMESH_DYNAMIC,pd3dDevice, 0, 0, NULL, 0, addr TeapotP D3DXLoadMeshFromXA - X-fayldı qosımsha ishine júkleydi. (загружает в приложение X-Файл). HRESULT D3DXLoadMeshFromX( LPCTSTR pFilename, DWORD Options, LPDIRECT3DDEVICE9 pDevice, LPD3 DXBUFFER* ppAdjacency, LPD3DXBUFFER* ppMaterials,9 LPD3DXBUFFER* ppEffeetInstances, DWORD* pNumMaterials, LPD3DXMESH* ppMesh ); pFilename A jeńiliwge a pointer, ol jaǵdayda júklep X-fayl atınıń beredi; (указатель на строку, в которой приведено имя загружаемого Х-файла); Options Dizimge alınǵan d3 dxmesh túri aǵzası, mashni jaratıw ushın hár qıylı variantlar ushın bir yamasa bir neshe bayraqlardıń kombinatsiyasın belgileydi. Ámeldegi bayraqlardan bir neshesin kórip shıǵıń : o d3dxmesh_vb_systemmem — Bul bayraq d3 dpool_systemmem bayraǵina menen isletiliwi kerek; o D3DXMESH_VB_MANAGED — Bufer yad klasın anıqlaw ushın D3DPOOL_MANAGED bayraǵina menen qollanıladı ; o D3DXMESH_IB_SYSTEMMEM — Bul bayraq indeks bufer yadın anıqlaw ushın D3DPOOL_SYSTEMMEM bayraǵina menen isletiliwi kerek; o D3DXMESH_IB_MANAGED — Indeks bufer yadın anıqlaw ushın d3 dpool_managed bayraǵina menen qollanıladı ; o D3DXMESH_USEHWONLY — Tek apparattı qayta islew ushın isletiledi; o D3DXMESH_MANAGED — Eki bayraqtıń kombinatsiyasına teń D3DXMESH_VB_MANAGED И D3DXMESH_IB_MANAGED; o D3DXMESH_SYSTEMMEM — Bul eki bayraqtıń kombinatsiyasına teń D3DXMESH_VB_SYSTEMMEM ham D3DXMESH_IB_SYSTEMMEM; pDevice — Bul pDirect3DDevice X faylın Direct3 D apparatına jalǵaw ushın kórsetkish; ppAdjacency — Jalǵanıw maǵlıwmatların óz ishine alǵan bufer ushın kórsetkishtiń adresi. Bul parametr ID3DXBuffer interfeysi ushın kórsetkishten paydalanadı; ppMaterials — ID3 DXBuffer interfeysi ushın kórsetkishtiń adresi. Funktsiyanı qaytarıw arqalı bul parametr X-fayl ushın D3DXMATERIAL dúzilisi maǵlıwmatları menen toldırıladı ; ppEffeetInstances — ID3 DXBuffer interfeysi ushın pointer adresi, ayriqsha tásir óz ishine alǵan. pNumMatегiа1s — D3DXMATERIAL dúzilisi ushın bir qatar maǵlıwmatlar ushın pointer. ppMesh — ID3DXMesh interfeysi ushın kórsetkishtiń adresi, pútkil operatsiya nátiyjesi. d3dxmesh GetFVF,TeapotP DWORD GetFVF() — DWORD tipidagi bahanı qaytaradı, bul tarmaqtıń vertikalari formatın suwretleydi. d3dxmesh GetNumBytesPerVertex,TeapotP DWORD GetNumBytesPerVertex() — Bir tóbeliktiń tariypi menen bánt bolǵan báyitler sanın qaytaradı. d3dxmesh GetNumVertices,TeapotP DWORD GetNumVertices() — Bufer degi vertices sanın qaytaradı. d3dxmesh GetNumFaces,TeapotP DWORD GetNumFaces() — Griddagi júzler (úshmúyeshlik kletkalar ) sanın qaytaradı. d3dxmesh GetVertexBuffer,TeapotP, addr TeapotP_VB HRESULT GetVertexBuffer(LPDIRECT3DVERTEXBUFFER9* ppVB); - Bul tor ushın tóbeliklerdiń buferin aladı. d3dxmesh GetIndexBuffer,TeapotP, addr TeapotP_IB HRESULT GetIndexBuffer(LPDIRECT3DINDEXBUFFER9* ppIB); - Bul tarmaq ushın indeks buferin aladı . D3DXAssembleShaderFromFile, addr f_VS, 0, 0, D3DXSHADER_DEBUG, addr a_VS,0 D3DXAssembleShaderFromFile – Shader faylın fayldan jıynaw (сборка шейдера из файла). HRESULT D3DXAssembleShaderFromFile( LPCTSTR pSrcFile, CONST D3DXMACR0* pDefines, LPD3DXINCLUDE plnclude, DWORD Flags, LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs ); D3DXAssembieShaderFromFile funktsiyası () tómendegi parametrlerge iye: pSrcFile — Joqarı Shader programmasın óz ishine alǵan sızılǵan fayldıń atı ; pDefines — Preprotsessor kórsetkishi; pInciude ~ Qálegen ID3DXInciude interfeysi kórsetkishi; Flags — флаги, идентифицирующие шейдер; ppShader — Dekompilyatsiya etilgen Shader kodın óz ishine alǵan buferdi qaytaradı. Bul erda LPD3 DXBUFFER buferine kod kórsetkishi isletiledi; ppErrorMsgs — CreateVertexShader-joqarı Shader payda etedi. HRESULT CreateVertexShader ( const DWORD* pFunction, IDirect3 DVertexShader9** ppShader ); Createvertexshader funktsiyası () tómendegi parametrlerge iye: rfunction-a pointer, maǵlıwmatlardı óz ishine alǵan, funktsiya GetBufferPointer tárepinen qaytıp. Bul funksiya hesh qanday parametrlerge iye emes hám kórsetkishni maǵlıwmatlar tamponiga qaytaradı. PpShader-IDirect3 DVertexShader9 interfeysi ushın pointer. d3 dev9 SetVertexShaderConstantF, pd3 dDevice, 0, addr m_VS1, 4 SetVertexShaderConstantF-matritsani kerekli turaqlı registrga kirgiziw HRESULT SetVertexShaderConstantF ( UINT StartRegister, CONST float* pConstantData, UINT Vector4 fCount ); Setvertexshaderconstantfo funktsiyası tómendegi parametrlerge iye: Download 366.17 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling