自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShaderJoy 的兴趣技术杂货铺

多了解一门技术,多一个思考维度

  • 博客(15)
  • 资源 (23)
  • 论坛 (1)
  • 收藏
  • 关注

原创 ShaderJoy —— 纯 shader 实现立方体的渲染(含线框效果,虚线线框效果),带你了解渲染管线内部细节和原理【GLSL】

效果图动态图静态图立方体的顶点属性数据首先,我们定义基本图元 —— 三角形的数据结构struct Triangle{ /// @note 三角形的三个顶点和 uv 坐标 vec3 a; vec2 aUV; vec3 b; vec2 bUV; vec3 c; vec2 cUV; vec3 n; ///< 法线};因为立方体有 6 个面,8个顶点(包括纹理坐标和法线),一面由 2 个三角形组成,我们可以手动进...

2020-09-08 15:49:15 244

原创 GPU 上的纹理性能优化实例

片段着色器最重要的任务就是从纹理当中获取和过滤像素值。与其相关的 GPU 性能指标可以被总结为三类:带宽 缓存行为(cache behaviour) 滤波(filtering)举个栗子以某一个游戏为例,如图带宽为了确保传输给 GPU 的纹理数据不会超过一定的带宽限制,它的均值就不宜超过 1GB/s, 峰值不宜超过 6GB/s,显然它的数据已经超出了预期的带宽范围(blow up the bugdet)后续操作(后处理)的部分只有高出一点点并且趋向于帧的后...

2020-09-29 16:22:10 509

转载 【转载】简述 LLVM 与 Clang 及其关系

转自:https://blog.csdn.net/xhhjin/article/details/81164076我对文章进行了排版,并将其中的关键部分进行了标记,方便抓住重点引言随着 Android P 的逐步应用,越来越多的客户要求编译库时用 libc++ 来代替 libstdc++。libc++ 和 libstdc++ 这两个库有关系呢?它们两个都是 C++ 标准库,libc++ 是针对 Clang 编译器特别重写的 C++ 标准库,而 libstdc++ 则是 GCC 的对应 C.

2020-09-29 12:14:19 69

原创 ShaderJoy —— Raytrace 实现的景深效果【GLSL】

举例:Raytrace 实现效果图当我们想利用 Raytrace 技术实现一些伪 3D 的效果的时候,常常会遇到 ViewRay 和平面 是否相交的问题。首先我们来看看普通版的解决方法。普通版如果只是简单的判断从相机射出的光线 ViewRay 是否和平面相交,我们只需要把光线向量和平面的法向量进行点乘即可,如下代码所示/// @note 光线追踪之平面/// @param pl 平面法线/// @param ro Ray Origin/// @param rd R...

2020-09-27 15:20:28 200

原创 ShaderJoy —— Tricky 的黏黏弹球【GLSL】

效果图从左到右,再从右到左(带回弹)的效果从左到右,再从右到左(黑色矩形无回弹)的效果黑白分割的矩形第一个 tricky 的地方 —— 用一个很大的矩形,右移来构造左黑右白的效果 p.x -= w * 1.; ///< 右移 float sdPl = sdBox(p, vec2(w, h)); ///< 矩形 // fragColor = vec4(sdPl); ///< 测试 ...

2020-09-24 19:25:44 118

原创 ShaderJoy —— Tricky 的图像透视效果【GLSL】

效果图稍作修改后的效果思路解析首先针对纹理坐标进行变换vec2 a = vec2(2.*I.x, I.x + I.y); ///< 右图vec2 b = vec2(-2.0 * I.x, -I.x + I.y); ///< 左图vec2 c = vec2(-I.x - I.y, I.x - I.y); ///< 下图I.x + I.y 的示意图,颜色越白表示值越大-I.x + I.y 的示意图...

2020-09-24 12:38:35 181

原创 ShaderJoy —— 简单又神奇的 “合体” 函数【GLSL】

smin 函数它实际上有两种常见的实现方式多项式 指数多项式 smin 函数图其对应的代码为float smin( float a, float b ){ // 多项式 const float k = 0.5; float h = clamp(0.5 + 0.5 * (b - a) / k, 0.0, 1.0); return mix(b, a, h) - k * h * (1.0 - h);}从上图中我们可以很明显的看出有两处不连...

2020-09-20 19:43:31 121

原创 AEJoy —— 值得收藏的 29 个 AE 表达式

1] Numbers:Add a slider and name to 'Value'places = 3; //number of decimal places desiredval = effect("Value")("Slider"); //sub in the name of your slider herefactor = Math.pow(0.1, places) ;sign = "";if (val < 0) sign = "-";val = Math.abs(...

2020-09-14 17:32:50 234

翻译 AEJoy —— 介绍神奇的 10 个 AE 表达式附带简单的调试方法

对于那些不熟悉 AE 的人来讲很快那么 AE 表达式是什么呢?AE 表达式是一个基于 Javascript 编程语言的代码,您可以通过按 Alt + 左键点击小码表来插入到 AE 中。如图所示AE 表达式非常强大,可以非常方便地制作酷炫的运动图形特效。它令人惊奇的地方是,仅仅需要少许的编程代码,它可以就可以帮助您的动画生动地运动起来。AE 表达式可以显著改善您的工作流程,当您创建一个拥有复杂代码的动画时,甚至可以真切地实现惊人的动态图形特效。弹性表达式弹性表达式...

2020-09-11 15:19:14 494 2

转载 【转载】AE 表达式精通大法

本文是转自设计树 的一篇文章,我对文章进行了重新排版,并标注了重点原文地址 ——AE表达式精通大法以下是正文部分:AE 表达式一直是大家学习 AE 过程中的一道坎,涉及代码网上教程资源又不多,于是很多人都没有完全地领略到 AE 表达式的魅力。于是这一次,我花了大量时间学习研究同时结合自己以往在工作中对表达式的运用心得。为大家带来这套系统的表达式教学。在学习表达式之前我们需要对表达式有个基本的了解。首先我们需要排除一个想法,表达式真的像我们想象的那么难学吗?答案是否定的!其实表达式并不...

2020-09-11 12:53:15 142

原创 AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【三】

继之前的这两篇文章 ——《AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【一】》《AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【二】》挖了坑之后,还剩两个表达式没介绍,那么这篇就负责把它们给填上。loopInDuration(type,duration) loopOutDuration(type,duration)loopOut1. cycleduraiton = 0从上图可知,小车每次都从第一帧的位置开始运动到最后一帧,同时速度也是从头...

2020-09-11 00:48:40 316

原创 AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【二】

在前一篇文章《AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【一】》,我们讲解了 loopIn/loopOut 在不同 numKeyframes 的情况下的一些区别,但是 type 类型都是默认的 cycle,那么这篇文章则来辨析一下它们在不同 type 下会产生哪些变化。首先,我们来看一下 type 支持的几种类型的定义cycle(默认) 简单重复特定的关键帧片段 pingpong 前后往复地重复指定的关键帧片段 offset 重复特定的关键帧片段,但每.

2020-09-10 20:06:45 437

原创 AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【一】

前言通过阅读本文,您将收获以下知识点loopIn(type,numKeyframes) loopOut(type,numKeyframes) loopInDuration(type,duration) loopOutDuration(type,duration)以及它们各自在不同 type 和 numKeyframes / duration 下的区别;本文默认您已经具备了 AE 中关键帧(KeyFrame)的基础概念,并且以下的演示都是基于4 个关键帧(依...

2020-09-10 15:41:30 830

原创 AEJoy —— 程序员入门 AE 的一些知识点整理

动态图静态图参考:ai如何分层导入ae 教程-AI矢量图巧妙导入AE及PS方法总结 矢量图形连续栅格化按钮去哪了

2020-09-04 03:22:32 175

原创 AEJoy —— 详解 AE 如何将 png 序列帧导出为 SVGA 动画文件

1.导入 png 序列帧至AE从菜单栏“导入” -> “文件”,选择存放序列帧的文件夹然后导入,接着看到如下界面,直接确定。此时,窗口中就显示了我们所导入的所有序列帧,如下所示2. 对序列帧进行裁剪【关键】我们刚导入的序列帧默认是占据了整个时间线的所以我们需要手动对它进行截取,windows 上的快捷键是 alt + [ 和 alt + ] 来分别进行前后的裁剪。裁剪的结果如下所示,这里我们只保留一帧的时间。3.将序列帧进行错位...

2020-09-02 10:20:28 2804 4

图像形状骨架提取细化 C++ 代码

基于 OpenCV 的 C++ 代码, Visual Studio 2017 工程,算法主要功能:提取图像中形状的骨架主干部分并细化

2020-12-11

纹理合成 C++ 代码

基于 SFML / OpenGL/ rapidxml 等库的 VS C++ 工程代码,根据各个纹理的尺寸自动选取最优算法(覆盖率最大)将多张纹理合成一张纹理图集,并输出 xml 配置文件

2020-12-10

电子书——Ogre 3d 1.7 beginner's Guide - 2010

Ogre 3d 1.7 beginner's Guide - 2010

2013-12-04

Developing Power-Efficient Software Systems on ARM Platforms

如何在arm架构上开发节能高效的软件系统

2013-09-21

编译过的Cartoonifier_Android工程

《Master OpenCV with Pratical Computer Vision Projects》中的第一章编译过的Cartoonifier_Android工程

2013-08-21

Android多媒体开发高级编程 源码

清华大学出版社的《Android多媒体开发高级编程》源码, 作者:Shawn Van Every

2013-01-21

精通Android增强现实源码

《精通Android增强现实源码》 作者:Raghav Sood What you’ll learn How to use most Android cameras How to find the user's location with GPS data How to detect movement and orientation of the device How to program against the accelerometer and compass How to use the AndAR library in marker recognition How to create an artificial horizon for your app How to integrate the Google Maps API into AR apps How to build enterprise augmented reality apps using the case studies in this book

2013-01-21

Pro Android Augmanted Reality

What you’ll learn How to use most Android cameras How to find the user's location with GPS data How to detect movement and orientation of the device How to program against the accelerometer and compass How to use the AndAR library in marker recognition How to create an artificial horizon for your app How to integrate the Google Maps API into AR apps How to build enterprise augmented reality apps using the case studies in this book

2013-01-21

修改可以运行的“VC++实例精通08_CaptureVideo”

修改可以运行的“VC++实例精通08_CaptureVideo”

2012-04-15

修改的可以运行的“DS开发指南第五章SimplePlayer.zip”

修改的可以运行的“DS开发指南第五章SimplePlayer.zip”

2012-04-15

清华大学操作系统PPT教程

清华操作系统PPT教程 清华操作系统PPT教程 清华操作系统PPT教程 清华操作系统PPT教程

2010-03-10

软件工程-实践者的研究方法

软件工程-实践者的研究方法 软件工程-实践者的研究方法

2010-03-10

星际彩球游戏【C语言】

这个游戏类似马里奥医生,但是和前次上传的星际彩球不同,这次是三个球左右翻,两个球360°旋转。

2010-02-01

C编写的星际彩球游戏

随机产生三个球或两个球,小球的颜色也是随机产生,该游戏类似俄罗斯方块或者是小霸王的马里奥医生。对了,三球和两球都是360°旋转的

2010-02-01

【两球】星际彩球游戏【C语言】

类似俄罗斯方块和马里奥医生的一款小游戏 只有两个球,实现360°旋转

2010-02-01

YAFFplayer 0.3.0.0【Linux64】

YAFFplayer 是一个基于 FFmpeg 和 GeeXLab 制作的简单视频播放器。YAFFplayer 可以从许多类似 youtube 的网站上轻松下载视频文件。 这个YAFFplayer的更新在主界面添加了一个下载视频按钮,可以使用剪贴板中的url快速下载视频。例如,在 youtube 上,只需复制视频 url,转到 YAFFplayer 并点击下载视频。在下载结束后(几秒钟),视频文件夹会自动打开。

2020-08-07

YAFFplayer 0.3.0 【Win64】

YAFFplayer 是一个基于 FFmpeg 和 GeeXLab 制作的简单视频播放器。YAFFplayer 可以从许多类似 youtube 的网站上轻松下载视频文件。 这个YAFFplayer的更新在主界面添加了一个下载视频按钮,可以使用剪贴板中的url快速下载视频。例如,在 youtube 上,只需复制视频 url,转到 YAFFplayer 并点击下载视频。在下载结束后(几秒钟),视频文件夹会自动打开。

2020-08-07

matplotlib-cpp 源码.zip

由于最近无法访问 github,所以上传这个代码,方便大家使用 原地址为(https://github.com/lava/matplotlib-cpp.git)

2020-02-06

NoiseVolume.dds

https://panda1234lee.blog.csdn.net/article/details/52198637 闪电特效所使用的纹理资源

2020-01-15

2D 折线顶点平滑算法

2D 折线顶点平滑算法—— 平滑折线通常可以通过两种方式: 通过插值,即在新的平滑曲线上,原始的折线点仍保持不变; 通过近似,这意味着新的平滑曲线将近似原始的折线,但原始点不会被保留下来。 本代码对两种方式都进行了展示。

2020-01-14

OpenCV310 Cmake

坑爹的OpenCV310 源码cmake需要额外下载opencv_ffmpeg.dll、opencv_ffmpeg_64.dll,、ffmpeg_version.cmake以及ippicv_windows_20151201.zip,否则configure报错

2016-10-17

同济第五版高数答案【下册】

同济第五版高数答案【下册】 不好找哦~~~~ 顶顶~~~~~~~~~~~~~~~~~~~~~~~~顶顶

2009-03-25

高数第5版课后答案(上册)

不好找哦~同济5版的高数课后答案【上册】 顶顶顶顶顶顶顶~~

2009-03-25

panda1234lee的留言板

发表于 2020-01-02 最后回复 2020-04-25

空空如也

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

TA关注的人 TA的粉丝

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