len3d

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

07 2007 档案

摘要:开始设计elvish ray Interface Specification 暂时还是interface的设计,不包含具体算法等... 这是开发开源渲染器的第一步... 我们的团队已经初步组成,还在不断扩大中,需要一个规范,才能统一开发... 需要参考的东西有: max SDK Maya API http://wiki.blender.org/index.php/Render_... 阅读全文
posted @ 2007-07-31 23:46 Len3d 阅读(451) 评论(8) 推荐(0)

摘要:Sorry. I had to comment, since a lot of misconceptions and just plain wrong information was being discussed about mental ray.I work at ILM where we daily use both prman and mray and I personally have ... 阅读全文
posted @ 2007-07-29 00:39 Len3d 阅读(682) 评论(0) 推荐(0)

摘要:昨天早晨开始第一次画色彩,今天下午完成了自己的第一幅水粉画,是临摹别人画的一组静物,当然跟原作比水平差远了,但是第一次就能完成到这个程度,已经很开心了。。。感谢连老师的帮助,感谢央美的王老师和艾老师的指点,感谢黄老师还有于老师帮我改画。。。 阅读全文
posted @ 2007-07-26 21:55 Len3d 阅读(247) 评论(5) 推荐(0)

摘要:从网上看到说,VC会放弃对含有内联汇编代码的函数,这是错误的。我试验了一下,VC照样会内联含有汇编代码的函数,只要汇编代码里面不要有跳转到C++代码段的指令就可以了。原因可能是你这样跳转,编译器的智商就不足够处理寄存器的恢复问题了。我不知道ICL会不会有能力处理这样的问题?所以要内联,就要避免跳转到C++代码段,在汇编代码段内部的跳转是允许... 阅读全文
posted @ 2007-07-15 11:07 Len3d 阅读(527) 评论(2) 推荐(0)

摘要:__asm { // dot_nd = - ( normal.x * ray_dir.x + normal.y * ray_dir.y + normal.z * ray_dir.z ); // optimized version : // xmm0 src // xmm4 dir ... 阅读全文
posted @ 2007-07-14 19:41 Len3d 阅读(914) 评论(2) 推荐(0)

摘要:class __declspec(align(16)) vector4 {public: union { struct { float x, y, z, w; }; __m128 mm; };};inline void dot3( vector4 & r, const vector4 & x, const vector4 & y ){ /**//*re... 阅读全文
posted @ 2007-07-14 17:15 Len3d 阅读(1128) 评论(0) 推荐(0)

摘要:__asm {; 152 : ray_dir = ray->dir;; 153 : ; 154 : dot_nd = - ( normal.x * ray_dir.x + normal.y * ray_dir.y + normal.z * ray_dir.z ); xorps xmm3, xmm3 ... 阅读全文
posted @ 2007-07-14 11:22 Len3d 阅读(542) 评论(0) 推荐(0)

摘要:分析了一下编译器(VC8)生成的汇编代码,发现问题是编译器造成的。。。在没有用SSE优化的情况下,编译器生成的代码非常好,直逼手写代码。。。而在用了SSE优化以后,编译器不能合理的分配和利用寄存器,并且生成了很多冗余的指令,导致代码简直一团糟,接近于弱智水平。。。具体可参看下面的汇编代码,我在重要的行后面加了注释,方便理解。。。没用SSE并行:; COMDAT ?intersectEye@R... 阅读全文
posted @ 2007-07-13 11:26 Len3d 阅读(2364) 评论(0) 推荐(1)

摘要:template class MemPage {public: inline MemPage( UINT _size, MemPage *oldPage ) { UINT asize = MAX( _size, MEMORY_PAGE_SIZE ); head = _mm_malloc( asize, ALIGN ); page = (BYTE... 阅读全文
posted @ 2007-07-12 10:53 Len3d 阅读(319) 评论(0) 推荐(0)