首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPCT与ARNative of ARToolkit项目的集成

JPCT与ARNative of ARToolkit项目的集成
EN

Stack Overflow用户
提问于 2015-10-26 06:52:24
回答 1查看 147关注 0票数 0

在将JPCT与ARToolkit项目的ARNative集成时,我遇到了一些问题.

用途:

利用jpct绘制基于ARToolkit的模型;

状态:

我可以在预览数据后面的屏幕上呈现一个模型;

然而,模型不能在正确的位置上显示;

我不知道如何使用来自ARToolkit的ProjectionMatrix进行JPCT.

我的代码如下所示:

代码语言:javascript
复制
public void onSurfaceCreated(GL10 unused, EGLConfig config) {                  
    ARNativeActivity.nativeSurfaceCreated();
}

public void onSurfaceChanged(GL10 unused, int width, int height) {       
    ARNativeActivity.nativeSurfaceChanged(width, height); 
    glViewport(0, 0, width, height);

    fb = new FrameBuffer( width, height); // OpenGL ES 1.x constructor

    world = new World();
    world.setAmbientLight(20, 20, 20);

    sun = new Light(world);
    sun.setIntensity(250, 250, 250);

    loadOBJ("cube.obj" , "cube.mtl" , "cube");

    world.addObject(cubeColor);

    cam = world.getCamera();
    cam.moveCamera(Camera.CAMERA_MOVEOUT, 50);
    cam.lookAt(cubeColor.getTransformedCenter());

    SimpleVector sv = new SimpleVector();
    sv.set(cubeColor.getTransformedCenter());
    sv.y -= 100;
    sv.z -= 100;
    sun.setPosition(sv);
    MemoryHelper.compact();

}


public void onDrawFrame(GL10 unused) {
    glClear(GL_COLOR_BUFFER_BIT);
    ARNativeActivity.nativeDrawFrame();

    float[] projection  = ARNativeActivity.getProjectMatrix();
    Matrix projMatrix = new Matrix();
    projMatrix.setDump(projection);
    projMatrix.transformToGL();
    SimpleVector translation = projMatrix.getTranslation();
    SimpleVector dir = projMatrix.getZAxis();
    SimpleVector up = projMatrix.getYAxis();
    cam.setPosition(translation);
    cam.setOrientation(dir, up);

    world.renderScene(fb);
    world.draw(fb);
    fb.display();
}  
EN

回答 1

Stack Overflow用户

发布于 2015-12-28 07:28:52

我认为这个问题与你提出的一个新问题非常相似:Rendering a model basic on JPCT-AE with ARToolkit in Android。它很可能会被复制。无论如何,我仍然没有足够的特权将其标记为复制,所以我引用另一个,并试图回答细微的差异。我能看到的唯一不同之处是,这里仍然没有使用are给出的转换矩阵。你必须通过打电话得到它

代码语言:javascript
复制
ARNativeActivity.getTransformationM()

并将其放在JPCT矩阵中:

代码语言:javascript
复制
transformM.setIdentity();
transformM .setDump(ARNativeActivity.getTransformationM());
transformM .transformToGL();

如前所述,已经是在另一个问题上,所以我建议所有的用户去那里寻求一个更完整的答案和外部参考。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33339972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档