open glHelloWorld之旋转的三角形(android)

       这两天在看open GL相关的东西,很多人都感觉有点高深莫测,包括自己对他也有些敬畏了。准备花一点时间,好好研究下。

       就当是Hello World,上代码,大家来看看,其实有很多自己目前也不是太懂,先上代码分享下,如果大家有什么意见和建议,也记得给我评论和分享下哈...


      下面代码是基于android的,不是Unity,也不是C++,笔者技术比较偏于android,故,希望大家不要介意哈,其实应该都差不多吧~


运行后效果描述:

                              

                          这是动态图,沿z轴正方向旋转。



代码一(FirstGLActivity):

public class FirstGLActivity extends Activity {
    MyTDView mView;
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        mView = new MyTDView(this);
        mView.requestFocus();
        mView.setFocusableInTouchMode(true);
        setContentView(mView);
    }

    public void onResume(){
        super.onResume();
        mView.onResume();
    }

    public void onPause(){
        super.onPause();
        mView.onPause();
    }
}


代码二(MyTDView):

package com.clark.gldemo;

import android.content.Context;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.Matrix;

import com.clark.matrix.Triangle;

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

public class MyTDView extends GLSurfaceView {
    //每次三角形旋转的角度
    final float ANGLE_SPAN = 0.375f;
    //自定义线程类RotateThread的引用
    RotateThread rotateThread;
    //自定义渲染器的引用
    SceneRenderer mRenderer;

    private class SceneRenderer implements  GLSurfaceView.Renderer{
        Triangle tie;//声明Triangle的引用

        @Override
        public void onSurfaceCreated(GL10 gl10, EGLConfig eglConfig) {
            GLES20.glClearColor(0,0,0,1.0f);//设置屏幕背景色
            tie = new Triangle(MyTDView.this);//创建Triangle类的对象
            GLES20.glEnable(GLES20.GL_DEPTH_TEST);
            rotateThread = new RotateThread();//创建RotateThread对象
            rotateThread.start();//开启线程
        }

        @Override
        public void onSurfaceChanged(GL10 gl10, int width, int height) {
            GLES20.glViewport(0,0,width
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值