摘要:
空指针的简单描述:它 “与任何对象或函数的指针值都不相等”。也就是说, 取地址操作符 & 永远也不能得到空指针, 同样对 malloc() 的成功调用也不会返回空指针, 如果失败, malloc() 的确返回空指针, 这是空指针的典型用法:表示 “未分配”或者 “尚未指向任何地方”的指针。===============... 阅读全文
摘要:
It's pretty simple to build your own look-at matrix.First, calculate forward, right, and up vectors. The forward vector should be a unit vector pointing in the direction that your camera is looking. T... 阅读全文
摘要:
所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。一、<iostream>与<iostream.h>的区别<iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码... 阅读全文
摘要:
以水为例子来解释下GLOSS MAP的含义与用法。 GLOSS MAP提出背景——它是针对这一具体问题提出的:当视线看到水表面时,希望在水表面能看到一种很好的反射加亮效果,而在陆地上却没有这种效果。解决这个问题的方法就可以用光泽贴图。 GLOSS MAP定义——对原纹理图制作一个单通道(即灰度)版本,对表示水的区域赋值1,而对其他位置赋值0,这样... 阅读全文
摘要:
经常在不同的书与文献中看到3D 模型光照的种类,有以下几种说法:在D3D中支持三种光源,分别是泛光灯,聚光灯和平行光,OpenGL中总体分为方向性光源与位置性光源与聚光灯,聚光灯是在方向性光源上做了一些限制得到的光源。下面我就分别解释并做个对比:泛光灯——它是一种可以向四面八方均匀照射的点光源,它的照射范围可以任---意调整,在场景中表现为一个正八面体的图标。泛光灯是在效果... 阅读全文
摘要:
在3D MAX导出插件编写I中已经具有了一个插件程序的基本框架,但这还是远远不够的,接下来,我们对I中的程序来补充肌肉、注入血液。在正式写插件之前,也必须要弄清楚一些概念,比如说Node,Object,Mesh,Face,以及他们之间的关系,还有就是3D MAX场景的组织方式,关于这些内容我会专门安排一篇文章来进行归纳总结,请阅读:3D MAX中的重要概念及场景组织方式在写程序之前,有一点必须弄明... 阅读全文
摘要:
想想研究3D MAX 的SDK已经有了不短的时间,真正算起来也有两个月了吧,但是讲到收获,确实不大。作为一个3D MAX二次开发的学习者,我首先学习了导出插件的编写,网上有很多参考资料,写的都差不多,可是都是写到关键的地方或者说比较模糊的地方就说不清楚了,今天我就结合自己所做的工作来讲讲3D MAX... 阅读全文
摘要:
在NeHe上,通过BMP文件来加载纹理,使用的是glaux.h函数库中的auxDIBImageLoad(Filename)函数来解决的,使用起来比较方便,可是,glaux.h这个函数库作为OpenGL平台发展的一个中间过渡产品,存在这不够稳定及功能不够完整的缺点,所以一般不使用这个函数库,而选择glut.h,以下是分别应用这两种函数库来实现纹理图像加载的实例: 1. 使用glaux.h函数库实现主... 阅读全文
摘要:
虽然看过C++方面不少的资料,但我现在仍然是一个初学者,编过C++的一些程序,但不多。const修饰词做为C++一个重要的概念,务必要弄清楚才行,看到网上一个C++学习者的博客上归纳的很不错,很精炼。以下是参考的链结:htmlhttp://www.cppblog.com/seuauto/archive/2008/09/04/60941.htmlconst是C++的关键字之一,与其他的关键字相比,C... 阅读全文
摘要:
刚刚看了一篇也是关于typedef用法的文章,跟先前看的那篇文章内容大同小异,不过有一处让我收获不小,就是在上篇最后那个案例我不理解的地方,这篇文章给了一个很好的答案。以下是文章的部分内容 :陷阱一: 记住,typedef是定义了一种类型的新别名,不同于宏,它不是简单的字符串替换。比如: 先定义: typedefchar*PSTR; 然后: intmystrcmp(constPSTR,constP... 阅读全文