当前位置: 首页 > news >正文

mvc3网站上传到空间静态网站建设背景

mvc3网站上传到空间,静态网站建设背景,网站制作教程手机,邯郸一站式网络推广欢迎咨询本文既然是入门实践#xff0c;就先从简单的2D图形开始#xff0c;首先#xff0c;参考两篇官方文档搭建个框架#xff0c;便于写OpenGL ES相关的代码#xff1a;构建 OpenGL ES 环境、OpenGL ES 2.0 及更高版本中的投影和相机视图。 先上代码#xff0c;代码效果如下图…本文既然是入门实践就先从简单的2D图形开始首先参考两篇官方文档搭建个框架便于写OpenGL ES相关的代码构建 OpenGL ES 环境、OpenGL ES 2.0 及更高版本中的投影和相机视图。 先上代码代码效果如下图屏幕上半部份是Java绘制的下半部份是C绘制的 一、投影和相机视图 1. 关于坐标轴方向 投影和相机视图主要是设置视点和坐标轴方向请看下面的代码 override fun onSurfaceCreated(gl: GL10, config: EGLConfig) {...// Create a camera view matrixMatrix.setLookAtM(vMatrix, 0, 0f, 0f, -3f, 0f, 0f, 0f, 0f, 1.0f, 0.0f) } Matrix.setLookAtM 方法的第5个参数 eyeZ 为正值视点在屏幕前方负值则在屏幕后方其符号会影响X轴方向其绝对值影响绘制元素的大小绝对值越大视点离屏幕越远物体越小倒数第2个参数 upY 的符号是影响Y轴方向如果发现绘制的元素上下或者左右翻转了可以调整这俩参数再看看效果。上面代码摘自官方文档eyeZ 是负值看网上教程的时候都说Y轴朝上X朝右刚开始写代码的时候发现X坐标总是反的就是左右颠倒了才回过头来修改这里的代码。 2. 关于图像拉伸 override fun onSurfaceChanged(gl: GL10, width: Int, height: Int) {GLES20.glViewport(0, 0, width, height)val ratio: Float width.toFloat() / height.toFloat()// create a projection matrix from device screen geometryMatrix.frustumM(projMatrix, 0, -ratio, ratio, -1f, 1f, 3f, 7f) } 上面代码摘自官方文档Open GL默认是在一个正方形区域绘制手机屏幕都是长方形严格讲是GLSurfaceView的宽高比例使用默认坐标画出来的图形看起来被拉长了使用 Matrix.frustumM 方法结合GLSurfaceView的宽高比可以调整使画出来的图形达到预期的效果。 二、绘制2D图形 绘制图形主要参考了一位大佬的系列文章OpenGL ES之六——绘制矩形和圆形使得鄙人快速入门。 1. 绘制几何图形 OpenGL ES的基本图元是点、线、三角形参考上面提到的那位大佬的文章可轻松画出矩形和圆形最近项目中需要画圆角矩形鄙人就在此基础上拓展了一下基本思路就是划分成9块如下图绘制矩形使用的索引法各点的索引已经在图中标出4个角使用画圆的方式绘制不过只画四分之一的圆 按照上图代码中绘制矩形使用的顶点索引如下 private val indices shortArrayOf(0, 1, 2, 0, 2, 3, //中间矩形4, 5, 1, 4, 1, 0,//左侧矩形1, 6, 7, 1, 7, 2,//底部矩形3, 2, 8, 3, 8, 9,//右侧矩形11, 0, 3, 11, 3, 10,//顶部矩形) 2. 绘制图片 OpenGL ES之十——纹理贴图展示一张图片 3. 绘制文本 思路就是将文字转成Bitmap再使用纹理贴图的方式绘制将纹理贴图的Bitmap的来源改为如下代码即可 val bitmap Bitmap.createBitmap(256, 128, Bitmap.Config.ARGB_8888) val canvas Canvas(bitmap) canvas.drawColor(Color.TRANSPARENT)val textPaint Paint() textPaint.textSize 32f textPaint.isAntiAlias true textPaint.color color canvas.drawText(text, 16f, 64f, textPaint) 三、使用NDK实现 1. 添加依赖 OpenGL ES属于是Android原生API了只需要在CMakeLists.txt链接一下相关库即可GLESv2即OpenGL ES 2.0的库EGL用于分配和管理 OpenGL ES 上下文和 Surface但不是必须的jnigraphics是用来访问Java层的Bitmap的纹理贴图会用到 target_link_libraries(native-liblogGLESv2EGLjnigraphics ) 使用的头文件 #include GLES2/gl2.h #include GLES2/gl2ext.h #include EGL/egl.h #include android/bitmap.h 2. 将绘制挪到C NativeLib.kt class NativeLib {companion object {init {System.loadLibrary(native-lib);}}external fun onSurfaceCreated()external fun onSurfaceChanged(width:Int, height:Int)external fun onDrawFrame() } native-lib.cpp #include jni.h #include android/log.h #include GLES2/gl2.h #include GLES2/gl2ext.h #include EGL/egl.h #include EGL/eglext.h //EGL用于分配和管理 OpenGL ES 上下文和 Surface #include my_gl_renderer.h #include log_util.hextern C JNIEXPORT void JNICALL Java_site_feiyuliuxing_opengltest_nativelib_NativeLib_onSurfaceCreated(JNIEnv *env, jobject thiz) {//onSurfaceCreated__android_log_print(ANDROID_LOG_INFO, NDK GLES, %s, glGetString(GL_VERSION));LOG_I(##### %s, glGetString(GL_VERSION));on_surface_created(); } extern C JNIEXPORT void JNICALL Java_site_feiyuliuxing_opengltest_nativelib_NativeLib_onSurfaceChanged(JNIEnv *env, jobject thiz, jint width, jint height) {// onSurfaceChangedon_surface_changed(width, height); } extern C JNIEXPORT void JNICALL Java_site_feiyuliuxing_opengltest_nativelib_NativeLib_onDrawFrame(JNIEnv *env, jobject thiz) {// onDrawFrameon_draw_frame(); } NativeGLRenderer.kt class NativeGLRenderer : GLSurfaceView.Renderer {private val nativeLib NativeLib()override fun onSurfaceCreated(p0: GL10?, p1: EGLConfig?) {nativeLib.onSurfaceCreated()}override fun onSurfaceChanged(p0: GL10?, width: Int, height: Int) {nativeLib.onSurfaceChanged(width, height)}override fun onDrawFrame(p0: GL10?) {nativeLib.onDrawFrame()} }
http://www.huolong8.cn/news/243229/

相关文章:

  • 温岭建设阳光网站做系统和做网站哪个简单一些
  • 网站定制页面调整至居中aspcms园林绿化工程网站源码
  • 洪湖网站建设做58同城这样的网站有哪些
  • 那几个网站可以做h5深圳网络设计公司
  • 语言免费网站建设在5分钟内注册小程序
  • 工信部网站 地址泰州建设企业网站
  • 网站 js 广告代码大全wordpress func
  • 网站导航栏字体什么是关键词搜索
  • js网站分页怎么做北京免费网站开发维护
  • 网站营销dedecms的网站系统设计结论
  • 网站注册表单怎么做中国建筑论坛网
  • 佛山住房和城乡建设部网站公司方案
  • 贵阳网站开发哪家便宜网站建设域名申请
  • 响应式网站好吗网站模板 协会
  • 手机网站设计欣赏网站页面精美的网站
  • 泷澄建设集团网站专业做制作网站
  • 家电网站建设把自己做的网站发布
  • 海报素材库网站免费影视作品网站开发与设计
  • 个人网站备案 网站名称信息流广告公司一级代理
  • 票务系统网站模板如何自己开发一个自己的网站
  • 梦幻西游官方网站哈尔滨网站建设方案维护
  • 做视频的网站带模板个人网站整站源码下载
  • 华能集团网站建设方案项目分析网站开发云南
  • 潍坊市网站制作新乡 网站运营
  • 九江网站建设服务东莞网站上排名
  • 南昌网站建设资讯做微信小程序哪个网站好
  • 旅游网页设计模板网站免费云南网站建设500
  • 深圳教育集团网站建设触屏手机网站设计
  • 我做外贸要开国际网站吗织梦网站程序安装
  • 公司微信网站建设方案模板下载湛江网红打卡点