LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1083|回复: 10

实时光线跟踪demo(framebuffer)

[复制链接]
发表于 2004-7-21 13:41:20 | 显示全部楼层 |阅读模式
编译:
gcc -lm realtimeraytracer.c -o realtimeraytracer
默认为是24位色彩,
对于16位色彩,可将注释的一段还原,同时注释下面的一段。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-7-22 06:39:31 | 显示全部楼层
wide288@0[rtraytracer]$ ./realtimeraytracer
段错误

还需要什么吗?
 楼主| 发表于 2004-7-22 23:51:51 | 显示全部楼层
启动framebuffer了么?
在/etc/lilo.conf中设置vga = 791

试试这个行不行
 楼主| 发表于 2004-7-22 23:56:53 | 显示全部楼层
rtray demo
在终端下面运行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2004-7-23 13:38:40 | 显示全部楼层
sdl 版本:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-7-23 15:19:21 | 显示全部楼层
有点儿意思

要是你能根据当前分辨率调整一下输出像素点的位置
就不用出两个版本了吧?
发表于 2004-7-23 22:10:12 | 显示全部楼层
SDL的文档提到尽量避免使用速度最慢的24位色深模式。

请问dyte100有没有好的计算机图形图像eBook共享一下?
 楼主| 发表于 2004-7-24 09:47:33 | 显示全部楼层
原理可以找本有光线跟踪算法的书看看。demo是从一个basic代码改成c的。
最主要的优化地方我认为是预先计算出入射光线的方向:GenerateRayDirectionTable

刚用sdl,不熟。
最初由 lanche 发表
SDL的文档提到尽量避免使用速度最慢的24位色深模式。

请问dyte100有没有好的计算机图形图像eBook共享一下?
 楼主| 发表于 2004-7-24 09:53:16 | 显示全部楼层
对于framebuffer,根据颜色深度是32位还是16位来确定输出结果,不知道什么原因总是失效。


ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo)
得到vinfo的值。但无论对于实际是16位还是32位颜色,
vinfo.bits_per_pixel
都是16
最初由 doubleelec 发表
有点儿意思

要是你能根据当前分辨率调整一下输出像素点的位置
就不用出两个版本了吧?
发表于 2004-7-26 22:39:02 | 显示全部楼层
是不是因为你设置启动时的vga=0x???都只是16位色的模式?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表