M_O_A

سؤال في ال vertices لل mesh

3 ردود في هذا الموضوع

السلام عليكم ورحمة الله وبركاته

أخواني عندي سؤال بسيط أرجوا ممن لديه خلفية عن الموضوع أن يجيب عليه .

كيف أستطيع أن أحصل على vertices ل mesh محمل من ملف لكي أستفيد من مواضع هذه ال vertices في اكتشاف التصادم بين كرة وهذا ال mesh الذي هو عبارة عن قطعة لأرض غير منتظمة ؟

وهذا الكود الذي حاولت أن أحصل منه على ال vertices :

#define FVF_VERTEX D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1

struct _VERTEX

{

D3DXVECTOR3 pos;

D3DXVECTOR3 norm;

float tu;

float tv;

};

vector<D3DXVECTOR3> GetVertices()

{

vector<D3DXVECTOR3> vecVertices;

_VERTEX* pVerts;

ppMesh->LockVertexBuffer(0,(void**)&pVerts);

int numVerts = ppMesh->GetNumVertices();

for (int i = 0; i < numVerts; i++)

{

D3DXVECTOR3 vec3Vertice;

vec3Vertice.x = pVerts->pos.x;

vec3Vertice.y = pVerts->pos.y;

vec3Vertice.z = pVerts->pos.z;

vecVertices.push_back(vec3Vertice);

pVerts++;

}

ppMesh->UnlockVertexBuffer();

return vecVertices;

}

بعد تنفيذ البرنامج حصلت على خطا في وقت الترجمة وهو :

Access violation reading location 0x04077000.

وموقعه في هذا السطر :

vec3Vertice.x = pVerts->pos.x;

تم تعديل بواسطه E.N.H
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حول الMesh إلي الكائن ID3DXMesh و من ثم تحصل علي الVertices .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

المعذرة لأني لم أوضح السؤال لكن ال mesh هو بالفعل كائن ID3DXMesh لأنني حملته بإستخدام D3DXLoadMeshFromX

ولكن كيف أحرر بياناته مثل ال Vertices أو الوجوه ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .