在2d图像cocos3d上绘制网格

时间:2013-02-01 12:01:53

标签: iphone opengl-es cocos3d

嗨朋友们我想在2d图像上绘制网格,如下图所示,下面我给出了代码,但是应用程序崩溃了,没有显示错误信息......所以面对难以识别问题。

    float arr_location[] = {0.0,0.0,0.0,  0.0,1.0, 0.0,  1.0,1.0,0.0, 1.0,0.0,0.0};

CC3VertexLocations* Vlocation = 
    [[CC3VertexLocations vertexArrayWithName:@"demoLocation"] retain];
Vlocation.drawingMode = GL_TRIANGLES;//
Vlocation.vertexCount = 3;
Vlocation.vertices = arr_location;

    float arr_normal[] = {0.0,0.0,-1.0};
CC3VertexNormals* normal = [[CC3VertexNormals vertexArrayWithName:@"demoNormal"] retain];
normal.vertexCount = 1;
normal.vertices = arr_normal;

    float arr_indice[] = {0,1,2};
CC3VertexIndices* demoIndices = [CC3VertexIndices vertexArrayWithName: @"demoIndicies"];
demoIndices.drawingMode = GL_TRIANGLES;
demoIndices.vertexCount = 3;
demoIndices.vertices = arr_indice;

CC3VertexArrayMesh* demoMeshModel = 
     [[CC3VertexArrayMesh meshWithName:@"demoMeshModel"] retain];
demoMeshModel.vertexLocations = Vlocation;
demoMeshModel.vertexNormals = normal;
demoMeshModel.vertexIndices = demoIndices;

CC3PlaneNode *meshNode = [[CC3PlaneNode alloc] init];
meshNode.mesh = demoMeshModel;
meshNode.material = [CC3Material shiny];
meshNode.texture = [CC3Texture textureFromFile: @"2.jpg"];

[self addChild: meshNode];

Refrence image

Crash SnapShot

1 个答案:

答案 0 :(得分:0)

我认为cocos2d不太可能,实际上看起来像3D,你可以肯定地用OpenGL ES做到这一点,虽然我不确定究竟是什么,但还没有达到如此低的水平,但是如果您可以使用cocos3d,那么使用CC3PlaneNode并将图片设置为纹理非常简单。我建议您阅读the programming guide并再次询问是否还有其他问题。