自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

w450468524的专栏

好好学习 天天向上

  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 【python】双向二维PCA(2D-2D PCA)算法实现

原理介绍PCA这篇教程讲的非常详细。以图片为例,将每张图片(假设宽高为 m n)转化为m*n的一维向量,然后减去每张图片像素的均值(使得每张图片均值为零),然后数据集中的所有图片一起合成一个大的矩阵X。计算图片矩阵的方差-协方差矩阵,我们的优化目标就是将这个矩阵对角化,使得字段(代表一张图片)两两之间的协方差为零,也就是相关性最小,字段与自身的方差尽可能大。

2017-02-06 22:45:40 7525 7

原创 【python】numpy数组中按照特征值对特征向量进行排序

最近使用python进行数据处理,需要计算矩阵的特征值和特征向量,然后对特征值由小到大排序,去前k个特征值对应的特征向量(其实是自己实现双向2D PCA算法)

2017-02-06 01:13:26 22696 9

原创 【学习笔记】快速平方根倒数算法

很以前久,看《DOOM启示录》的时候就看到,当年卡马克大神在《雷神之锤》中使用了一个神奇的数字,能够通过位操作快速计算平方根。但是当时并没有深究,这两天偶然看到了这篇文章,终于将我这个多年的“未解之谜”解开了

2016-09-13 21:50:11 14830

原创 [leetcode] Add Digits

每天一道easy题: Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. For example: Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Sinc

2016-06-23 12:59:39 369

翻译 [leetcode] nim game

啊哈,开始刷题了

2016-06-22 14:13:00 349

原创 【体绘制】raymarching算法

最近研究云的渲染接触到了体绘制,在shadertoy上看了一些例子,不过它们都是全场景体绘制的,场景中的所有物体,地形均由数学方法生成。然后用一个quad覆盖整个屏幕,对每个片段进行raymarching,甚至是raytracing。好像有一个64kb的比赛,就是用最小的程序大小,看谁能够渲染出最漂亮的图像,令人不得不感叹数学的神奇。

2016-06-17 12:15:00 10373 5

原创 【笔记】世界坐标系和相机坐标系的转换

固定管线中的前两个步骤: 将物体从本地坐标系转换到世界坐标系。 从世界坐标系转换到像极坐标系。这两个步骤中旋转和平移的顺序是不同的:先看2维情况,如果要讲一个物体从原点(即本地坐标系中)平移到某处并且旋转(世界坐标系),假设物体在本地坐标系(实线部分)和目的地(虚线部分)的位置如下图左。第一种方法如下图右,先将物体延自身的x轴平移,然后进行旋转变换(注意,旋转变换都是以原点为中心的

2016-06-13 11:13:12 17510

原创 normal mapping中TBN矩阵的思考

学习法线贴图(normal mapping)的过程中,最关键的一个矩阵就是TBN矩阵,该矩阵用于将存储在纹理空间中的法向量转换到模型空间中(实际使用相反,为了减少计算量,是将光线从模型空间转换到了纹理空间,然后计算反射光线,因为光线条数远远少于法向量数目)。下图展示法线贴图的含义,图中的蓝色部分为一块法线纹理,上面的黑色小木棒(纯手工绘图)是每个像素的rgb代表的法线向量。就像一块海绵上插了无数歪歪

2016-06-12 23:15:49 5194 3

原创 伽马校正(gamma correction)学习笔记

学习HDR和Bloom特效的过程中,接触到了伽马矫正的问题。查阅了不少资料,这一篇讲的最清楚,下面的图片也是来自该文章。这应该说是一个历史遗留问题,以前的CRT显示器是使用电子显像管,通过控制电流大小来控制显示屏幕上的亮度。然而亮度和电流之间的关系并非是线性的,也就是说电流强度变为2倍,显示的亮度并非是两倍,而是由公式1决定:Vout=(Vin)gammaV_{out} = {(V_{in})}^{

2016-06-12 23:03:06 21834 6

原创 视差贴图(parallax mapping)学习笔记

视差贴图是一种很神奇的技术,它的效果有点类似法线贴图,都是通过尽可能少的面片加上特殊的技术来模拟复杂几何体的视觉效果。通常视差贴图都会和法线贴图结合起来使用。视差贴图的核心思想,就是通过贴图时uv坐标的偏移,来形成视觉上的几何体高低视差,给人以立体的感觉。这篇教程很详细,下面的图片也是来自于该教程(捂脸):如图所示,高度为0.0的平面是渲染时的实际面片,棕色的线则代表了原始几何体的实际高度。这里我们

2016-06-12 22:32:49 8607 2

原创 STL空间配置器的union obj

最近学习《STL源码剖析》一书,看到SGI的第二级配置器时,空闲内存链表使用了一个神奇的联合体(union)结构,代码如下:union obj{ union obj * free_list_link; char client_data[1]; /* The client sees this.*/};书中描述为这样:由于union之故,从其第一字段观之,obj可被

2016-06-12 21:45:15 2486

原创 将uniy3D集成到android的子窗口中

最近有一个需求,要将u3d的一个模型展示程序集成到安卓应用(这里我把它叫做宿主app)中,安卓应用会给u3d一个小窗口,然后用户可以在小窗中进行交互。搜集资料之后,因为很多教程总是会有这样或那样的纰漏,所以我自己做一个相对较为完整的总结。(Unity3D 版本为5.0)大致流程如下: 在unity3d中build,然后再eclipse中导入u3d生成的安卓工程 新建

2016-06-12 21:35:33 1799 1

原创 如何在OS X El Captain中配置GLFW和GLEW

mac下使用c++编写OpenGL程序,配置环境时却卡了好久(本来想用oc来着,结果网上找了几天,发现所有的cocoa教程都是ios的,mac os x的少得可怜,仅有的也都是xcode4甚至更早的,基本不能用……真的很想吐槽一下,苹果官方就不能搞个最新版本的教程么,连官方的文档都是好久之前的。果然开发os x程序的人太少了么)。网上资料零零碎碎,花费数小时才搞定,在这里总结一下: 下载

2016-06-12 21:31:03 802

原创 【笔记】投影坐标到屏幕坐标

最近阅读《3D游戏编程大师技巧》,想要手动实现一遍固定渲染管线,作者在投影变换的部分费了颇多笔墨,但感觉该部分组织结构不是很清晰,花了不少功夫才搞懂,因此总结一下。完成投影变换之后,视景体从一个平截头体(frustum)变换为一个边长为2的立方体:经过透视除法之后,将平截头体区域投影到一个立方体中,其中的几何体会产生相应的形变,造成近大远小的透视效果:接下来

2016-06-12 21:29:30 2679

原创 OpenGL中RBO与Texture,UBO与SSBO的异同

UBO(Uniform Buffer Object)可用于在多个shader program之间共享uniform变量,批量管理。与之类似的有SSBO(Shader Storage Buffer Object),该对象也可用于不同shader之间共享数据以及缓存数据。二者功能上很相似。主要有如下区别: 大小限制:UBO大小限制为KB级别,64KB或128KB,具体与硬件相关。而SSBO则

2016-06-12 21:21:09 9538 1

原创 OpenGL中EXT,ARB扩展的关系

由于OpenGL的标准更新不是很频繁,因此,当某种技术应用流行起来时,显卡厂商为了支持该技术,会使用自己的扩展来实现该功能。但是不同厂商如果有不同的实现,那么程序编写将会异常繁琐。因此多个厂商共同协商使用一致的扩展,这就是EXT扩展。如果这个扩展不仅多厂商协商,而且得到OpenGL体系结构审核委员会(即ARB)的确认,那么该扩展便成为ARB扩展。最后如果标准制定者认为该功能有必要添加到新版

2016-06-12 21:20:31 2868

原创 glTexImage2D 中 format internalformat type 参数的含义

在OpenGL中初始化一个纹理时,glTexImage2D()函数中指定纹理格式数据有三个参数:format,internalformat,typeinternalformat是指OpenGL内部存储这个纹理时所用的格式,包括多少个分量(1,2,3)以及每个分量的格式(16F,32F...),合法的包括GL_RGB, GL_RGB32F, GL_COMPRESSED_RGB。格式形如GL_

2016-06-12 21:19:44 4093

原创 Cocos2dx在IOS平台中将截屏保存到到手机相册

最近使用Cocos2dx 2.2.3进行IOS游戏开发,碰到了关于截屏路径的一个问题,cocos2dx本身自带了截屏的功能,代码如下: CCSize size = CCDirector::sharedDirector()->getWinSize(); CCRenderTexture* renderTexture = CCRenderTexture::create(size.w

2014-07-12 12:04:58 2067

vkspec.pdf

vulkan 官方文档,全面详细,要从OpenGL升级到vulkan的可以看看

2019-05-24

3d柏林噪声

3D柏林噪声的纹理,试验体绘制用的。

2016-06-17

programming pearls 英文原版

翻译过的多少有点变味,看看英文原版吧~~~

2011-07-08

套接字必备知识 大家一起学习学习吧

比较概括的讲述了socket的一些基础知识,仅供参考,高手请无视吧~

2011-05-17

空空如也

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

TA关注的人

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