自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kk君的博客

互相学习,共同进步

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenGL(11)之材质

title: OpenGL(11)之材质 date: 2020-07-19 9:00 category: 图形学 tags: opengl OpenGL(11)之材质 1.概述 现实生活中,每个物体对光产生不同的反应(即物体对光的吸收与反射程度不一致导致的差异性),此中涉及到了物体的反射率、介质、光的入射角等知识相关(有兴趣的可自行查阅相关知识),其中最重要当属物体本身了,不同材料的表面具有不同的反射率。 例如:钢材通常比陶瓷材质的物体显得更加闪闪发亮。如果想在OpenGL中模拟多种类型的物体, 必须为.

2020-07-19 11:29:24 1010

原创 OpenGL之旅(1)初探

title: OpenGL(1)初探 date: 2020-06-28 7:30 category: 图形学 tags: opengl https://hashwaney.github.io/ 1.OpenGL是什么? 一般它被认为是一个API(Application Programming Interface,应用程序编程接口),包含了一系列可以操作图形,图像的函数,但是可惜的是OpenGL本身并不是一个API,它是一个由Khronos组织制定并维护的规范。 规定了每个函数该如何执行,以及它们的输出值.

2020-06-30 11:16:13 147

原创 Kotlin之协程

title: Kotlin之协程 date: 2020-09-09 11:15 category: kotlin tags: kotlin Kotlin Coroutine 入门指南 什么是Coroutine Coroutine能够解决什么问题 简单认识Coroutine 理解Coroutine的几个核心概念 Android平台如何使用 什么是Coroutine 协程可以简单理解成轻量的线程,但是创建Coroutine本身不一定会产生新的线程, 比如可能有100个Coroutine共用了10个thr.

2020-09-09 11:23:09 193

原创 Kotlin语法知识汇总

title: Kotlin语法 date: 2020-08-23 11:43 category: Kotlin tags: Kotlin 基本数据类型 类型 位宽 Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 字面常量 常见的类型的字面量常量 十进制: 124 长整型以大写的L结尾: 123L 16进制以0x开头:0x0F 2进制以0b开头:0b0000001010 注意:8进制不支持 Kotlin同时也支.

2020-08-23 21:36:11 841

原创 深入理解Java虚拟机之Java并发机制底层实现

title: 深入理解Java虚拟机之Java并发机制底层实现 date: 2020-08-01 10:12 category: JVM tags: JVM 前言 前面两篇学习了Java内存模型,始终围绕了三大特性(原子性、可见性、有序性)三个方面来讨论内存模型的顺序一致性.当然还有探讨了其中的编译器、处理器的指令优化相关知识,JMM并没有直接讲这些底层处理细节指令开放给我们,但是通过开放了相应的关键字,譬如volatile、synchronized这些关键字来供我们在并发情况下自行调用. Java代码.

2020-08-02 16:26:01 224

原创 深入理解Java虚拟机之Java内存模型(2)

title: 深入理解Java虚拟机之Java内存模型(2) date: 2020-07-30 08:54 category: jvm tags: jvm 前言 感觉周志明老师的书阅读起来确实有些困难,但是《Java并发编程的艺术》阅读起来更加浅显易懂.特此用来辅助学习《深入理解Java虚拟机第三版》. 此文是在学习《Java并发编程的艺术》中的第三章Java内存模型而编写的读书笔记,强烈建议如果需要复习这一块知识的同学阅读此两本书籍. 本文分为几个部分再次学习一下Java内存模型的知识: Java内.

2020-07-31 17:24:54 174

原创 深入理解Java虚拟机之Java内存模型

title: 深入理解Java虚拟机之Java内存模型 date: 2020-07-29 23:24 category:JVM tags: JVM 前言 最近在看周志明老师的JVM这本书,感觉每次看一次都会有不同的感受,诚然,作为一个Androider,使用的是Java语言,但是并没有深入的挖掘Java语言的魅力, 一则是自己水平不够,无法领略其中奥妙. 二则可能是长期处于编写业务阶段,无法将知识点给串联起来吧. 三则就是大家都会出现的一种思维惰性吧. 好了,认真去拜读了这本书,水平不够,当然还是要.

2020-07-30 15:41:11 176

原创 Glide加载Gif的卡顿优化思路分析

基于Glide 4.9.0版本分析 前言 Glide图片框架是可以直接加载GIF图的,但是做一个银行合作项目的时候,由于有需要出货页面需要加载一个GIF图,但是发现在使用Glide框架加载Gif图片,明显发现有延迟. 经过查看glide加载Gif图片的源码得知:Glide在加载Gif的图片帧的时候,上一帧的渲染以及下一帧的准备是串行的,这个过程中,如果出现下一帧的准备阶段时间超过了Gif间隔播放的时长,就会造成播放卡顿.而且此过程中,StandardGifDecoder只保留上一帧的数据,每次获取当前需.

2020-07-26 21:07:36 1425 1

原创 OpenGL(10)之颜色

title: OpenGL(10)之颜色 date: 2020-07-17 18:08 category: 图形学 tags: opengl OpenGL(10)之颜色 1. 概述 现实世界上中有无数的颜色,每个物体都有自己的颜色,我们需要用有限的数值来模拟真实世界中无限的颜色,并非现实世界中所有的颜色都可以用数值来表示,但是我们仍能通过数值来表现出非常多的颜色。颜色由数字化的红色(Red)、绿色(Green)、蓝色(Blue)三个分量组成,也即RGB三原色。仅仅用这三个值就可以组合出任意一种颜色。 获.

2020-07-18 16:28:32 967

原创 OpenGL(9)之基础光照

title: OpenGL(9)之基础光照 date: 2020-07-15 17:13 category: 图形学 tags: opengl OpenGL(9)之基础光照 0.前言 世间之大,还有许多未知需要去探索,还有许多已知需要去深入,所以努力吧,不要耗费自己的光阴。 1.基础光照 现实世界光照及其复杂,本文所描述的是OpenGL的光照是对其进行了相当的简化,是对现实情况的近似模拟,这样处理起来就会更加容易一些。 而这些光照模型都是基于光的物理特性而衍生出来的一种近似等效。 其中最为研究比较广泛的.

2020-07-16 16:00:35 405

转载 OpenGL应用篇之向Shader中传递数据

传递顶点属性信息 之前讲过,vertex shader会被每个顶点调用,通常一个顶点会包含很多信息,例如顶点坐标、顶点法向量、纹理坐标等等,我们称这些信息为顶点的属性。在之前的OpenGL版本里,每个属性都对应了一个特定的通道,我们使用glVertex,glTexCoord,,glNormal(或者通过访问指针函数glVertexPointer, glTexCoordPointer, orglNormalPointer...

2020-07-15 10:28:10 946

原创 OpenGL(8)之摄像机

title: OpenGL(8)之摄像机 date: 2020-07-12 16:37 category: 图形学 tags: opengl link:OpenGL(8)之摄像机 0.前言 OpenGL本身没有摄像机概念,但是可以通过场景中的所有物体往相反方向移动的方式来模拟摄像机,产生一种我们在移动的感觉,而不是场景在移动。 1.摄像机/观察空间 摄像机/观察空间(Camera/View Space)的概念是观察的以摄像机的视角作为场景原点时,场景中所有的顶点坐标,视图矩阵把所有的世界坐标变换为相对于.

2020-07-13 21:19:49 563

原创 OpenGL(7)之坐标系统

title: OpenGL(7)之坐标系统 date: 2020-07-11 10:34 category: 图形学 tags: opengl link:<a href="https://hashwaney.github.io/%E5%9B%BE%E5%BD%A2%E5%AD%A6/2020/07/11/opengl_7.html">OpenGL(7)之坐标系统</a> 0.前言 上一节学习了关于利用矩阵变换对顶点进行变换达到我们的看的物体是动态的, 但是OpenGL希望的是每次

2020-07-12 16:03:12 608

原创 OpenGL(6)之变换

1. 概述 在之前的学习过程中,系统的学习了一个物体是如何创建,着色,加入纹理,但是它们始终还是静态的物体,那么可以尝试在每一帧改变物体的顶点并且重新配置缓冲区使得其移动, 但是这种方式比较耗费时间,通过多个矩阵(matrix)对象可以很好的完成对一个物体进行变换,在了解矩阵之前先来看看什么是向量吧。 2. 向量 向量最基本的定义就是一个方向,有一个方向和大小,好比小时候玩大富翁,向左边走4步,向北走2步,其中的左与北是方向,4步就是向量的长度。 向量的维度是任意的,通常使用的是2至4维,如果一个向量有2个

2020-07-10 22:39:54 356

原创 OpenGL(5)之纹理初探

1.概述 首先提出一个问题:什么是纹理? 是由大块的图像数据组成的,可以用来绘制到物体的表面以增强其真实感。(红宝书第六章本章目标中的内容) 再提一个问题:它能做什么? 如上个问题所描述,既然是由大块的图像数据,那么举个例子,在片元处理阶段,可以大量的使用到纹理,即对各个顶点着色的阶段,就将原始的rgba颜色值转换使用纹理相关数据进行上色,这样一来节省了大量ragb颜色值为了满足复杂色值所带来的开销与操作难度。 纹理其实是一个2D图片(也可以是1D或3D的),是由**纹素(texel)**组成,其中通常包含

2020-07-02 16:23:13 297

原创 Open之旅(4)着色器简介

title: OpenGL(4)之着色器初探 date: 2020-06-30 18:10 category: 图形学 tags: opengl 链接:OpenGL(4)之着色器初探 前言 着色器(Shader)是运行在GPU上的小程序,服务于OpenGL渲染管线的各个着色阶段【处理阶段(顶点着色阶段,细分着色阶段,几何着色阶段,片元着色阶段)和一个计算着色阶段】,是一种将输入转换为输出的程序,他们之间不能相互通信, 唯一的沟通就是通过输入in和输出out; 1.GLSL是什么? GLSL是一种类C语言.

2020-07-01 21:05:25 554

原创 Binder连载--如何启动ServiceManager

title: Binder连载–如何启动ServiceManager date: 2020-06-17 22:54 category: android tags: binder url: hashwaney.github.io 基于Android7.0源码进行分析 基于goldfish3.4版本kernel源码分析 framework/native/cmds/servicemanger/ - sevice_manager.c - binder.c kernel/drivers/ - staging.

2020-06-30 11:29:52 436

原创 OpenGL之旅(2)简单的创建一个窗口

title: OpenGL(2)窗口 date: 2020-06-28 10:07 category: 图形学 tags: opengl url:https://hashwaney.github.io 1. 视口 在开始渲染之前有一件重要的事情要做,就是告诉OpenGL渲染窗口的尺寸大小,即视口(Viewport). 这样OpenGL才能知道怎样根据窗口大小来显示数据和坐标,通过glViewPort函数来设置窗口的维度 glViewPort(0,0,800,600); glViewPort函数前两个参.

2020-06-30 11:18:10 4019

原创 OpenGL之旅(3)绘制一个三角形

title: OpenGL(3)三角形 date: 2020-06-28 16:01 category: 图形学 tags: opengl https://hashwaney.github.io/ 1.概述 VAO: 顶点数组对象 Vertex Array Object VBO: 顶点缓冲对象 Vertex Buffer Object IBO(EBO): 索引缓冲对象 Element Buffer Object or Index Buffer Object 在OpenGL中,任何事物都.

2020-06-30 11:10:29 458

原创 Android NDK 开发系列(1) : 环境搭建与JNI程序解析

一、JNI 与 NDK 1、JNI定义 JNI : Java Native Interface的缩写,从字面意思理解即Java的本地接口,Java 与 Native(即C/C++)层通信的桥梁。 2、NDK的定义 NDK:Native Development Kit的缩写,即Android的工具开发包。作用即将C/C++代码编译到原生库中。 3、Java,JNI 与NDK三者之间的关系 1、NDK...

2020-03-23 15:20:14 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除