OpenGL基础一 清屏设置红色底背景

红底背景
android NDK项目的创建这里就不多说了。
这里我们采用OpenGLES2.0来做演示。

//显示activity
public class MainActivity extends AppCompatActivity {
    static {
        System.loadLibrary("opengltest");
    }
    private GLSurfaceView glSurfaceView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        glSurfaceView = new GLSurfaceView(this);
        glSurfaceView.setRenderer(new CCRender());
        setContentView(glSurfaceView);
    }
}
//这里 提供的是jni方式调用
public class CCRender implements GLSurfaceView.Renderer {
    private native void ndkGL();
    private native void ndkPaintGL();
    private native void ndkResizeGL(int width,int height);
    @Override
    public void onSurfaceCreated(GL10 gl10, EGLConfig eglConfig) {
        ndkGL();
       // GLES20.glClearColor(1.0f, 0f, 0f, 1.0f);
    }
    @Override
    public void onSurfaceChanged(GL10 gl10, int width, int height) {
       ndkResizeGL(width, height);
        //  GLES20.glViewport(0,0,width,height);
    }
    @Override
    public void onDrawFrame(GL10 gl10) {
        ndkPaintGL();
   //     GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
    }
}
#include <GLES2/gl2.h>
extern "C"
JNIEXPORT void JNICALL
Java_com_henry_opengltest_CCRender_ndkGL(JNIEnv *env, jobject _obj) {
    glClearColor(1.0f, 0.0f, 0.0f, 1.0f);//显示红色 R(1.0f)  G(0.0f)    B(0.0f)   A(1.0f)
}
extern "C"
JNIEXPORT void JNICALL
Java_com_henry_opengltest_CCRender_ndkPaintGL(JNIEnv *env, jobject _obj) {
    //擦除了屏幕上的所有颜色,并使用我们之前调用glClearColor()来定义的颜色填充屏幕。
    glClear(GL_COLOR_BUFFER_BIT);
}
extern "C"
JNIEXPORT void JNICALL
Java_com_henry_opengltest_CCRender_ndkResizeGL(JNIEnv *env, jobject _obj, jint width, jint height) {
     //设置显示区域的大小
    glViewport(0, 0, width, height);
}
//cmake配置
cmake_minimum_required(VERSION 3.18.1)
project("opengltest")
add_library(
        opengltest
        SHARED
        native-lib.cpp)
find_library(
        log-lib
        log)
target_link_libraries(
        opengltest
        //引入es2.0
        -lGLESv2
        ${log-lib})

以上就是一个很简单的OpenGLES的清屏显示颜色的demo。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rnwater

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值