OpenGLES开发透明通道视频备忘录
最近在做带透明MP4视频的渲染播放,原理就是视频的一半是只有黑白颜色的透明通道,另一半则是视频原来的画面,只要利用OpenGLES在渲染时提取原来画面的对应位置上的透明通道的透明度,设置到原来画面的像素上,就可以达到播放透明视频的效果。
原理很简单,实现也不难,但是中间遇到了一些坑,折腾了一段时间才弄明白,主要原因还是基础原理不了解,还是要多学习。
Linux下罗技优联鼠标的简略指北
最近陪我征战10多年的IO1.1光(左)荣(键)退(双)休(击)了,想来修修补补用到现在,实在不容易。如果微软出IO1.1复刻,我直接买爆。
本来可以再修一下继续用,但是想来还是不折腾了,直接下单MX Master 3。不得不说,手感确实还可以,办公一流,但前提是可以用Logitch Options。那么问题来了,罗技并没有出基于Linux版本的Logitch Options……
为了解决这个问题,我所找到的方案有:
C++中的&和*
关于C艹中的&和*的作用,其实是比较基础的知识,但是一段时间不碰就要忘(记性不好),所以要做点笔记方便查找。
The ABC of Dart Part 8 - 并发
说到Dart中的并发,这里需要先介绍一下Dart中的异步机制,以下内容转自Dart异步任务与消息循环机制
翻译自https://www.dartlang.org/articles/event-loop/
异步任务在Dart中随处可见,例如许多库的方法调用都会返回Future对象来实现异步处理,我们也可以注册Handler来响应一些事件,如:鼠标点击事件,I/O流结束和定时器到期。
这篇文章主要介绍了Dart中与异步任务相关的消息循环机制,阅读完这篇文章后相信你可写出更赞的异步执行代码。你也能学习到如何调度Future任务并且预测他们的执行顺序。
在阅读这篇文章之前,你最好先要了解一下基本的Future用法。
The ABC of Dart Part 7 - 异步
Dart中没有线程这种概念,或者说对线程进行了包装,调用者无法对线程进行直接的操作。所以Dart为异步操作提供了一些对应的API和关键字,分别有:
async和await关键字Async*、sync*、yield*关键字和Stream的APIFuture的API
细分下来还是挺多内容的,尤其像Stream这种流式操作,网上相关的资料都叙述得不够详细。
The ABC of Dart Part 5 - 操作符重载
Dart可以像C语言一样重载部分操作符。支持重载的操作符有:
< |
+ |
^ |
[] |
> |
/ |
& |
[]= |
<= |
~/ |
<< |
~ |
>= |
* |
>> |
== |
- |
% |
