- 博客(23)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 Java 关于含有继承类的成员初始化过程讲解
参考资料《Java 编程思想》,关于含有基类的导出类,其成员的初始化过程是一个容易让人困惑的地方,下面通过具体的实例进行讲解,代码取自《Java 编程思想》,代码如下:import static net.mindview.util.Print.*;/** * All rights Reserved, Designed By www.tydic.com * * @project: M
2017-10-30 18:10:34 380
原创 Java中基类子对象的构建过程从“基类向外”扩散的如何理解?
《Java编程思想》复用类一章,提出基类的子对象的构建过程是从基类“向外”进行扩散的。下面通过实例进行讲解,首先看下面的代码:import static net.mindview.util.Print.*; //《java编程思想》提供的类库/** * @author Administrator * */public class Cat extends Animal { pu
2017-10-29 17:12:03 825
原创 Java为什么基本数据类型不需要进行创建对象?
Java是一门面向对象的语言,即一切皆是对象!那么为何数据类型中还分为:基本类型和对象? Java中有8种基本数据类型boolean、byte、short、char、int、flaot、long、double,基本数据类型作为Java语言的一部分,但基本数据类型不是对象,基本数据类型放在堆栈中,对象放在堆中。堆的读写速度远不及栈,如果使用基本数据类型相当于在栈上进行操作,对变量的
2017-10-29 13:58:59 3798
原创 Java的外部类为什么不能使用private、protected进行修饰
对于这个问题,一直没有仔细思考,今天整理一下:对于顶级类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。如果类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那
2017-10-28 21:49:08 16800 8
原创 《Java编程思想》中为什么可以直接用方法名调用静态方法?
《Thinking in Java》一书中,有很多地方作者直接使用静态方法名,直接调用其它包里面的方法,通常情况下我们访问一个静态方法,需要通过 类名.方法名 的途径。但是这里情况有所不同。在程序的包导入部分声明为:import static PackageName.Class.*; 表示的是静态导入PackageName.Class类的所有静态方法(注意只是静态方法),然后就可以直接调用Clas
2017-10-28 17:26:27 695
原创 Java解释器的运行过程解释
首先介绍一下Java解释器的概念,Java解释器:解释器是Java虚拟机非常重要的一部分,它的工作就是把字节码转化为机器码并在特定的平台进行运行。简单一点,java的解释器只是一个基于虚拟机JVM平台的程序 ,即jdk或jre目录下bin目录中的java.exe文件。 Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。步骤1:可以通
2017-10-28 11:24:14 12262 1
原创 Unity获取物体自身坐标轴的方向以及沿着该方向运动的方法
有时候对于一个游戏对象,需要其沿着自身的坐标轴方向进行运动,那么首先如何获取自身的坐标轴方向?获取自身的坐标轴方向可以通过transform组件进行获取(负方向加负号即可) Vector3 moveDirection = transform.right; 获取自身的x轴的方向 Vector3 moveDirection = transform.forward; 获取自身的z轴的方向
2017-10-27 10:51:25 53422 4
原创 Unity关于MeshCollider碰撞体无法触发碰撞事件
Unity为对象添加网格碰撞体之后,仍然无法发生碰撞。后来发现组件的属性Is Triggle进行了勾选,取消之后能够发生正常的碰撞。//为游戏对象,添加碰撞体GameObject blank;private float moveSpeed = 1.0f; if(!blank.GetComponent()) { blank.AddC
2017-10-25 11:08:02 13228
原创 OpenGL中对混合操作的实例演示
对于混合的基本概念这里不仔细讲,可参考这篇博客http://blog.csdn.net/augusdi/article/details/23769375。这里直接通过代码,测试效果:#include #include #include #include const int n = 100;const GLfloat R = 0.5f;const GLfloat Pi = 3.
2017-10-23 21:21:04 380
原创 关于OpenGL中深度截取(GL_DEPTH_CLAMP)的讲解
关于透视投影视椎体,如下图所示在视觉坐标系下,片段fragment的深度放缩到0-1之间的一个有限范围内。片段的深度值为0的话则表明它与近裁截面重合相交(如果是真实世界的话就是刺入你的眼睛),1代表物体的最远距离(但不是无限远)。为了消除远裁截面并在任意距离上绘制图形,我们需要在深度缓存depth buffer中储存任意大的深度值–当然这是计算机不可能实现的。那么假设,我们
2017-10-23 19:04:19 6921 1
原创 对OpenGL中模板缓冲区解释
前段时间转载了一篇关于OpenGL的博客,但是并没有对里面的内容理解的很透彻,今天通过实例重新讲解一下。关于模板缓冲区的基础知识参考上篇博客http://blog.csdn.net/yangyong0717/article/details/78313725。对于模板缓冲区的值是如何设置的是一个关键问题,主要是借助于glStencilFuncSeparate()和glStencilOpSep
2017-10-22 22:12:53 569
转载 OpenGL中关于模板缓冲区的详细解释
模板缓冲区的概念,至今依然不是特别理解,这篇博客写的很好,相信对大家的理解也有帮助。模板缓存是深度缓存的扩充,当你需要控制哪一个像素需要被渲染,哪一个像素需要被忽略时,模板缓存能够为你提供更多的方法。和深度缓存一样,模板缓存存储了所有像素的模板值,但是这次你必须手动控制这些值如何改变。记住,如果一个像素深度测试失败了的话,模板测试将不会再决定该像素是否绘制,而像素会反过来影响模板缓存中的值。为了
2017-10-22 21:53:38 4083
原创 OpenGL关于glStencilFuncSeparate()和glStencilFunc()函数的区别
glStencilFunc()函数是OpenGL提供的对模板缓冲区进行控制的命令,这是OpenGL2.0之前使用的函数,其函数原型为void glStencilFunc(GLenum func, GLint ref, GLuint mask).func指定比较函数,它指定了测试通过的条件,其取值可以是:(为方便表示,参考值为refValue, 缓冲区值bufferValue)G
2017-10-22 16:58:51 2116
原创 OpenGL中关于帧缓冲区的理解
《OpenGL超级宝典》中对帧缓冲区的解释比较简单,文中说一个OpenGL窗口的表面被称作“帧缓冲区”。又查了一些资料可以更加容易理解一些,帧缓冲区(显存):是由像素组成的二维数组,每一个存储单元对应屏幕上的一个像素,整个帧缓冲对应一帧图像即当前屏幕画面。帧缓冲通常包括:颜色缓冲,深度缓冲,模板缓冲和累积缓冲。这些缓冲区可能是在一块内存区域,也可能单独分开,看硬件。
2017-10-18 15:56:40 6206
转载 关于Malloc内存分配函数的解析
原文地址:http://blog.csdn.net/xw13106209/article/details/4962479一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节
2017-10-15 21:53:28 775
转载 关于OpenGL中几种纹理环绕模式的理解
最近在学习OpenGL的纹理坐标时,有一个疑惑就是纹理坐标范围大于1的概念一直没有搞懂是什么意思,通过这篇博客下面的图示,明白了坐标大于1就是说在场景中的模型,大于原来贴图的尺寸时候的情况。下面是对这几个环绕模式的具体解释,原博客的地址:http://blog.csdn.net/l_andy/article/details/53405758在纹理映射中,纹理坐标的范围为[0.0
2017-10-10 21:13:46 7714 1
转载 软件设计要求—“高内聚低耦合”
耦合度一、什么是耦合度软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合。 耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。 模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。降低模块间的耦
2017-10-10 19:31:37 3627
转载 HTTP协议优秀博客推荐
最近在学习HTTP协议,看到一位博主整理的关于HTTP协议讲解的博客,我就顺着这些博客开始看到,感觉收获很多。下面把这些博客推荐给大家。通过对这些博客的阅读,能够对HTTP协议的基础知识有一定的了解,然后就可以去阅读一些相关的HTTP专业书籍,对具体的知识点进行深入的学习。具体书籍网上有很多推荐,这里就不再写了。1:特别推荐阮一峰老师的关于网络协议的两篇非常棒的博文(阮老师的其他博文也
2017-10-08 20:13:27 433
原创 《OpenGL超级宝典》中第七章TextureRect示例程序,RenderScene()函数解析
这是蓝宝书第七章上面的TextureRect示例的部分源代码,刚开始阅读时候存在很多疑惑,慢慢的结合前面的知识,逐渐的知道这些代码的原理,对其中的部分代码做一些注解仅供理解参考,这里只对RenderScene(),场景渲染函数进行注解:void RenderScene(void){//基于时间的旋转动画static CStopWatchrotTimer;
2017-10-08 14:46:44 2621
原创 C++ 直接cout指针名的含义?
首先看下面这个代码实例:#include using namespace std;int main(){ char *str = "this is a test"; cout << "str=" << str << endl; cout << "*str=" << *str << endl; cout << "&str" << &str << endl; system("pa
2017-10-08 10:48:18 1511
原创 OpenGL中矩阵堆栈为什么要进行多次的压栈和出栈操作?
对于OpenGL中矩阵堆栈的频繁压栈和出栈操作,一直不是很理解。今天搜集了一些资料,对频繁压栈、出栈的操作有了一定的了解。OpenGL的矩阵堆栈类GLMatrixStack, 这个矩阵堆栈在初始化时候包含了单位矩阵。它的应用场合主要是在场景对象分层方式中,将一个对象或者多个对象相对于前一个对象进行绘制时。对于这句话的含义后面举例加以解释。在这种由多对象组成的复杂场景的3D空间,利用矩阵堆栈进行
2017-10-07 20:17:54 2906
原创 《OpenGL超级宝典》第五版第六章着色器的程序运行结果都是白色的问题?
今天运行《OpenGL超级宝典》着色器的第一个例子ShadedTriangle,发现运行窗口总是提示无法加载顶点程序,所以运行之后图形都是白色的,没有进行任何的渲染。去网上没有看到合适的解决办法,后来自己仔细查看了错误。发现只需要把自己写的顶点程序复制到项目目录下面即可得到正确的运行结果。可以和之前加载贴图.tga文件放置的位置相同,例如我建立的ShadedTriangle工程,我把Shade
2017-10-05 19:20:11 626
算法第四版所需要用到的stdlib.jar algs4.jar
2018-01-21
OpenGL纹理设置过滤器和环绕模式的疑惑
2017-09-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人