自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 lambertian、diffuse、matte的关系

在CG里面,这三个词经常碰到,而且有时候到底哪个是干嘛的经常也是搞不清楚,也就是它们三个之间的关系没清楚。    我觉得下面这句话讲的很清楚,但是我忘记在哪看到的了-_-。    Lambertian reflectance is the property that defines an ideal "matte" or diffusely reflecting surface.   

2017-06-30 14:00:43 2711

原创 DL学习笔记(1)-Deep Learning是一种“暴力碾压”的方法吗?

答:不全对。不要忽略了“Deep”——层数。     如果真的仅仅是暴力的话,那就不需要很深的层,就一层,但是这一层很长,很多单元。但这个performance实际上是没有相同参数下的多层更短的网络好。     Deep→Modularization→Less training data.     并不是训练数据越多就越好,就是因为现在data不多,所以需要deep leaning。

2017-06-30 13:49:15 385

原创 C#中的继承规则

1.继承可传递。C从B派生、B从A派生,则C不仅继承了B中的成员,同时也获得了A中的成员.Object类为所有类的基类。2.派生类是对基类的扩展,可以添加新成员,但不能除去已经继承的成员的定义。3.构造和析构函数不能被继承。除此之外的其他成员,不论它们定义了怎样的访问方式都能被继承。基类中成员的访问方式只能决定派生类能否访问他们。4.如果派生类中定义了一成员,其名字与基类中某成员同名,

2017-06-30 13:40:37 770 1

原创 Intel和ARM

intel是X86结构,用的是CISC复杂指令集,而ARM用的是自己的ARM架构,核心是精简指令集(RISC)。        其实RISC和CISC的区别很明显。     RISC牺牲了功能性,而提高了其单位命令的运行效率。     CISC能处理的信息种类更多,但是相对来说,单位性能就下降了。     所以,家用游戏机的CPU逗是RISC,因为只运行游戏,不需要处理其他的程序,

2017-06-30 09:29:15 1743

原创 GLSL(6)分别使用可编程渲染管线编程和固定渲染管线编程来画点(理解VAO&VBO)

在opengl中分别使用可编程渲染管线编程和固定渲染管线编程来画点(理解VAO&VBO)

2017-06-27 16:47:12 1559

原创 C++纯虚函数和Java中的抽象函数区别

一直我对c++纯虚函数的理解有个误区:纯虚函数是不能给出定义的。果然是学艺不精。c++中的纯虚函数和java中的抽象函数很类似,我把相关概念搞混淆了,这里总结一下:java中的抽象函数是只有函数声明,没有方法体。而c++中的纯虚函数是可以有方法体,也就是说是可以给出定义的,并且,在c++中,子类还可以调用父类的纯虚函数-_-。对于用习惯了java而对c++认识比较少的同学,可能看到这里有点吃惊。所

2017-06-24 11:18:49 1955

原创 c++之const小结-使用注意

尽可能的使用const。1. 尽量的以const、enum、inline替换掉#define。#define是预处理,对于形似函数的宏,最好改用inline函数替换#define,即“宁可以编译器替换预处理器”。因为#define不被视为语言的一部分,那正是它的问题所在。2.  注意,下面两种写法意义相同:void f1( const Widget* pw);void f1( Wi

2017-06-24 10:27:00 330

原创 GLSL(5)-compute shader小结

感觉和cuda的基本概念是一样的只是叫法不同,cuda中称block,compute shader中同等的概念是work group。一个block中分多个线程,这边就是一个work group中分多个invocation。同时block都有一维二维三维的概念,基本理论模型都是一样的。cuda中计算线程索引的方法和compute shader中计算invocation中的也一样。然后还有很重要

2017-06-23 20:09:58 4603

原创 GLSL(4)关于layout和uniform使用的个人小结

简而言之。GLSL中,layout标签注明的变量是初始化一定要的,通常这个初始化过程放在initScene()函数(同等作用的函数)中,就是走:glGenBuffer()、glBindBuffer()、glBufferData()..这几个过程。而GLSL中,uniform类型的bain两,是不走上面这几个流程的,也就是在opengl这边设置shader中的uniform类型变量的时候,不

2017-06-23 20:01:55 5823

原创 GLSL(3)-在opengl中初始化Uniform Block 的流程-小结

opengl中初始化着色器中uniiform block的流程总结。

2017-06-22 09:46:28 1602

原创 VS2013+GLFW配置--填坑!

给新电脑配置开发环境,当然上VS2013+GLFW。        不要看那些啥cmake,用不上,直接去官网下载GLFW二进制文件:点击打开链接,记得下载32位的!        然后呢,下载完了,      进入到下载到的这个东西的目录中,将include中的GLFW文件夹拷贝到VS安装目录下的VC/include中      若使用VS2013,则将lib-vc201

2017-06-20 20:48:28 1392 2

原创 GLSL(2)记录-使用uniform block

#include #include"shadertool.h"#include"glm/glm.hpp"//using namespace std;#include"glm/gtc/matrix_transform.hpp"using glm::mat4;using glm::vec3;#define PI 3.1415926GLuint vaoHandle;GLuint

2017-06-18 21:27:37 536

原创 GLSL记录(1)-实时旋转的三角形

main.cpp:#include #include"shadertool.h"#include"glm/glm.hpp"//using namespace std;#include"glm/gtc/matrix_transform.hpp"using glm::mat4;using glm::vec3;#define PI 3.1415926GLuint vaoHand

2017-06-18 13:40:05 1244

原创 记录opengl运行窗口全白色

学习GLSL。      看书写代码,把书上的部分代码敲上去后,发现运行窗口全是白色。找了半天,原来是 glClear( GL_COLOR_BUFFER_BIT )这里有错,因为我之前的代码还清除了深度缓存的,也就是加上了" | GL_DEPTH_BUFFER_BIT",于是,我重新加上后,三角形出现了(正确结果)。但是为什么不清除深度缓存就会这样呢??不科学啊。仔细看代码,原来我在i

2017-06-18 13:24:27 4442 1

原创 ubuntu提示opengl版本过低-Gallium0.4 on llvmpipe(llvm 3.8 128bits)

在ubuntu14.04下写GLSL,需要GLSL 4.0 以上的支持,但是编译运行的时候,提示我opengl和glsl版本过低, 只支持1.3。我xx,,我用的卡是Geforce GTX560TI,应该支持4.0以上。为啥现在提示我不支持呢??     原来是我系统现在使用的不是N卡驱动:     解决办法:点右下脚的安装更新-设置-附加驱动,选第一个N卡驱动,安装,重启,解决!

2017-06-10 19:44:55 15674 2

原创 Ubuntu下在QTCreator中使用glew.h

今天在ubuntu下写GLSL,然后要加载shader,看教程需要使用到glew,于是我添加这个头文件,但是编译不通过,因为总是给我提示glew的各种函数找不到,然后我看看我的pro文件里面已经加入了GL.so,而且GL文件夹中有glew.h这个头文件,这就尴尬了,估计是还需要加载一个glew.so,我在计算机中搜了一下,还真有,试试,于是在pro文件中,加入下面代码来引入glew.so: LIB

2017-06-10 12:12:33 1442

原创 Java深拷贝

@Override public Object clone() { //深拷贝 KinderGardenStu kinderGardenStu = null; try { kinderGardenStu = (KinderGardenStu)super.clone(); //key part //可以这么理解,就是如果我不复制引用里的数据的话,它就还

2017-06-05 20:32:23 264

原创 浅拷贝和Clone方法

要实现对象间的Clone操作,首先,自定义类是没有默认的Clone方法的,必须要继承Cloneable这个接口来重载Clone方法,如下:public class KinderGardenStu extends Student implements GamePlayable,Cloneable{ @Override public KinderGardenStu clone() th

2017-06-05 20:17:35 536

转载 C/C++生成可执行文件过程

[转载]C/C++生成可执行文件过程编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.asm、.s)-->汇编程序(.obj、.o、.a)-->链接程序(.

2017-06-03 15:37:14 1166

mysql-connector-java-5.1.20-bin.jar

JDBC驱动mysql-connector-java-5.0.5.zip

2014-05-07

空空如也

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

TA关注的人

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