由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 我写的屏保程序
相关主题
我写的Windows屏保的最新版本 (转载)菜鸟的苹果编程问题
请教抓取摄像头的图像问题。请教个问题
opengl 问题Ask: OpenGL, opacity
贴两个我数年前写的屏保一个诡异的问题求救!!
Opengl如何方便地显示一部分Jpg?数学的美
给初学者的建议有没有什么文章,介绍,如何把WIN下的程序,在LINUX SERVER上运
Windows多媒体编程入门问题[合集] Does OpenGL have a future?
问一个machine learning/SVM 问题彩色图像创建和显示问题
相关话题的讨论汇总
话题: 屏保话题: windows话题: 图像话题: 万花筒话题: perlin
进入Programming版参与讨论
1 (共1页)
O*******d
发帖数: 20343
1
陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
最近花了点时间把这个个人爱好项目终于完成。
这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
height field,1:1随机产生,用户不能选。
在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
屏保程序下载
http://www.mediafire.com/?myywdrdtpnj
贴几张截屏图
c*****t
发帖数: 1879
2
nice screen shots. Why don't you create a google code project? So you
can track downloads, create a page with all the screen shots etc.
You can also put it on your CV.

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

t****t
发帖数: 6806
3
你怎么还在推销你的屏保啊...

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

s***e
发帖数: 122
4
下载了,挺喜欢的:)

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

O*******d
发帖数: 20343
5
我有一个web page,以前写的几个OpenGL的屏保都在,这个也要放上,我在这里贴的里
面把我的名字略去了。 我的CV里都有,对我换工作很有帮助。

【在 c*****t 的大作中提到】
: nice screen shots. Why don't you create a google code project? So you
: can track downloads, create a page with all the screen shots etc.
: You can also put it on your CV.

O*******d
发帖数: 20343
6
照片文件名字的最后8位数字是seed number,可以重复随机图形。要重复图形的颜色,
需要选color scheme。用户选项很多。

【在 s***e 的大作中提到】
: 下载了,挺喜欢的:)
O*******d
发帖数: 20343
7
去年的有几个bug,最近都给消灭了。

【在 t****t 的大作中提到】
: 你怎么还在推销你的屏保啊...
O*******d
发帖数: 20343
8
如果计算机速度较慢,这个屏保的启动时间可以长到10秒,因为要计算Perlin noise图
形。 计算好的图形会在屏幕上停留10秒左右,然后万花筒就开始运行。 如果图像来源
是照片,则把照片一幅一幅地显示成万花筒。
s***e
发帖数: 122
9
嗯,只是好奇而已,那个照片显示时间和image cycle time是故意设成至少5秒和20秒
的吗?我本来还想迅速的体验一下呢,呵呵,我的显卡只有8兆显存,虽然CPU呼呼的,
但是显示的很好,不知道加快了之后怎么样:P

【在 O*******d 的大作中提到】
: 照片文件名字的最后8位数字是seed number,可以重复随机图形。要重复图形的颜色,
: 需要选color scheme。用户选项很多。

O*******d
发帖数: 20343
10
照片显示时间可以变成0,选不显示照片。 image cycle time最少20秒,主要是为了有
足够时间读下一张照片,下一张照片可能会有很大尺寸。 读照片是在一个low
priority thread里运行,故速度较慢,但图形的显示不会停顿。

【在 s***e 的大作中提到】
: 嗯,只是好奇而已,那个照片显示时间和image cycle time是故意设成至少5秒和20秒
: 的吗?我本来还想迅速的体验一下呢,呵呵,我的显卡只有8兆显存,虽然CPU呼呼的,
: 但是显示的很好,不知道加快了之后怎么样:P

相关主题
给初学者的建议菜鸟的苹果编程问题
Windows多媒体编程入门问题请教个问题
问一个machine learning/SVM 问题Ask: OpenGL, opacity
进入Programming版参与讨论
k****f
发帖数: 3794
11
有没有ubuntu版的?

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

s***e
发帖数: 122
12
谢谢解释,呵呵。我也赞同你应该把这个放到你的简历里去。

【在 O*******d 的大作中提到】
: 照片显示时间可以变成0,选不显示照片。 image cycle time最少20秒,主要是为了有
: 足够时间读下一张照片,下一张照片可能会有很大尺寸。 读照片是在一个low
: priority thread里运行,故速度较慢,但图形的显示不会停顿。

O*******d
发帖数: 20343
13
目前只有Windows版,Porting很费事,那个configuration就要把人搞死。

【在 k****f 的大作中提到】
: 有没有ubuntu版的?
O*******d
发帖数: 20343
14
我还把源码放在我的网页上,换工作时便于hiring manager阅读。 不过里边的数学很
复杂,一般的hiring manager也搞不懂。 这个屏保里用了大量镜像变换,才有真实的
镜像。 如果你用桌面做为图像来源,你就可以看到桌面的文字的图像都被做了镜像变
换。

【在 s***e 的大作中提到】
: 谢谢解释,呵呵。我也赞同你应该把这个放到你的简历里去。
O*******d
发帖数: 20343
15
这个屏保还可以在多屏幕上运行,每个屏幕显示的是一个独立的照片和独立的万花筒。
我费了点功夫才做成那样。
k****f
发帖数: 3794
16
哪里能下载到源码??

【在 O*******d 的大作中提到】
: 目前只有Windows版,Porting很费事,那个configuration就要把人搞死。
k****f
发帖数: 3794
17
试了一下,在t23老爷机启动不了。显卡太差了

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

O*******d
发帖数: 20343
18
如果有感兴趣把这个屏保port到其它平台上的,欢迎合作。 屏保的大部分源码都是
platform neutral, 只有在和Windows连接界面上用了Win32 API。 Configuration用
了很多Windows Resources,数据都是保存在Windows Registry里。 Thread用的是
Windows native code。
T*******x
发帖数: 8565
19
下载了一个Kaleidoscope.scr,文件大小是268K。
为什么在我的机器上运行不了呢?我的是Windows Vista Home Basic,Athlon X2, 1G.

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

O*******d
发帖数: 20343
20
可能和显卡有关。 我在Win2000, WinXP,Windows Vista上都试过。 如果可以在
Control Panel的小屏幕中运行,而不能在大屏幕上运行,一般都是显卡的问题。

【在 T*******x 的大作中提到】
: 下载了一个Kaleidoscope.scr,文件大小是268K。
: 为什么在我的机器上运行不了呢?我的是Windows Vista Home Basic,Athlon X2, 1G.

相关主题
一个诡异的问题求救!![合集] Does OpenGL have a future?
数学的美彩色图像创建和显示问题
有没有什么文章,介绍,如何把WIN下的程序,在LINUX SERVER上运请教一个计算机3D渲染方面的问题 (转载)
进入Programming版参与讨论
k****f
发帖数: 3794
21
能不能降低一些显卡要求,比如用简单的directdraw就可以了?

【在 O*******d 的大作中提到】
: 可能和显卡有关。 我在Win2000, WinXP,Windows Vista上都试过。 如果可以在
: Control Panel的小屏幕中运行,而不能在大屏幕上运行,一般都是显卡的问题。

O*******d
发帖数: 20343
22
directdraw不能满足要求。 这个程序虽然没有三维图像,但用了大量的平移,旋转,
镜像变换,每个像素的最后屏幕颜色都是经过一系列计算才能得出的。 计算是在显卡
中的多个专用处理器中平行进行的。靠计算机的CPU来计算非常非常慢。 现在的新显卡
一般都支持DirectX and OpenGL。会有多到128个处理器。 这个屏保用的是OpenGL。

【在 k****f 的大作中提到】
: 能不能降低一些显卡要求,比如用简单的directdraw就可以了?
T*******x
发帖数: 8565
23
请问要把那个文件下载到什么目录下,才能够在control panel的
screen saver setup 中看到它?

【在 O*******d 的大作中提到】
: 可能和显卡有关。 我在Win2000, WinXP,Windows Vista上都试过。 如果可以在
: Control Panel的小屏幕中运行,而不能在大屏幕上运行,一般都是显卡的问题。

l*****c
发帖数: 1153
24
不错,赞一个。不过用两年写也太慢了吧?

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

O*******d
发帖数: 20343
25
right click the document, then select Install. The document will be linked to Control Panel. For manual installation,
copy the file to C:\windows\system32, then right click, select Install.

【在 T*******x 的大作中提到】
: 请问要把那个文件下载到什么目录下,才能够在control panel的
: screen saver setup 中看到它?

T*******x
发帖数: 8565
26
我这台机器的显示卡不行。
不过我在另一台机器上安装了。确实很漂亮。赞一个。

linked to Control Panel. For manual installation,

【在 O*******d 的大作中提到】
: right click the document, then select Install. The document will be linked to Control Panel. For manual installation,
: copy the file to C:\windows\system32, then right click, select Install.

O*******d
发帖数: 20343
27
真正用在写的时间就是三个月的晚上和周末。 2006年夏天有的想法,先写了一个普通
的windows application作试验
用。 然后就放一边了, 2007年夏天把它改成屏保程序, 加了configuration. 在这个
板贴过,发现有一些时有时无的
bug。 一直没有心思找bug, 一个月前又开始下决心把它彻底完成。 就这样拖拖拉拉
了两年。

【在 l*****c 的大作中提到】
: 不错,赞一个。不过用两年写也太慢了吧?
a*******r
发帖数: 7558
28
给苹果OS X也写一个吧
O*******d
发帖数: 20343
29
打算Port到Mac OS X. 又是一大通学习。 主要是要熟悉苹果的那套configuration怎样
写。我家里有一台Power Mac 装有Mac OS X Leopard

【在 a*******r 的大作中提到】
: 给苹果OS X也写一个吧
O*******d
发帖数: 20343
30
当我第一次看到屏幕上的我写的万花筒时,感叹数学的精密。矩阵经过那么多次的平移
旋转镜射的计算后,在屏幕上的两个小格交界线两边的图形竟然衔接得那么好。 中学
里学解析几何时学到坐标系的平移旋转的概念,在这里都用上了。
相关主题
computer graphics/vision 领域用哪种语言最多?请教抓取摄像头的图像问题。
我们组招人,工作内容与opengl和3D modeling有关opengl 问题
我写的Windows屏保的最新版本 (转载)贴两个我数年前写的屏保
进入Programming版参与讨论
a*******r
发帖数: 7558
31
日常工作用的大部分知识都是中学里学的

【在 O*******d 的大作中提到】
: 当我第一次看到屏幕上的我写的万花筒时,感叹数学的精密。矩阵经过那么多次的平移
: 旋转镜射的计算后,在屏幕上的两个小格交界线两边的图形竟然衔接得那么好。 中学
: 里学解析几何时学到坐标系的平移旋转的概念,在这里都用上了。

T*******x
发帖数: 8565
32

能在其他领域里面用到一点数学,一定很有成就感吧!

【在 O*******d 的大作中提到】
: 当我第一次看到屏幕上的我写的万花筒时,感叹数学的精密。矩阵经过那么多次的平移
: 旋转镜射的计算后,在屏幕上的两个小格交界线两边的图形竟然衔接得那么好。 中学
: 里学解析几何时学到坐标系的平移旋转的概念,在这里都用上了。

a****l
发帖数: 8211
33
That looks cool, but not interested in installing on my machine, sorry.
What's the point?

【在 O*******d 的大作中提到】
: 陆陆续续花了两年时间写的。 写的过程是一个学习过程,学到了很多东西。 这是一
: 个OpenGL application,需要显卡硬件支持。 去年在这里贴过一次,发现了一些bug,
: 最近花了点时间把这个个人爱好项目终于完成。
: 这个屏保把图像变成万花筒,其图像来源有三种,照片,桌面,还有自己产生的随机图
: 像。 随机图像分方框图和Perlin noise两种,用户可以选择。 Perlin noise分圆形和
: height field,1:1随机产生,用户不能选。
: 在运行过程中,只要按一下空格键,就可以把屏幕上的图像保存成一个jpg文件。 如果
: 是随机图像选项,保存的文件名有seed number,可以重复文件中的图像。
: 屏保程序下载
: http://www.mediafire.com/?myywdrdtpnj

O*******d
发帖数: 20343
34
写屏保就是一个学习过程。 要使图像有震撼就要学习很多新东西。 对找computer
graph的工作也很有帮助。 这个屏保程序用了texture mapping, texture
transformation, image processing, jpg orientation determination, perlin
noise generation, 还有两个很复杂的专门给万花筒的数据结构,是扇形链结构。
从一个中心cell,通过recursive call, 就可以访问遍万花筒的所有cell. 所有的图
像都是先变成texture. 然后通过texture transformation使之在三角型或正方型
的格子中通过事先计算好的矩阵旋转平移镜射。 整个万花筒还有大旋转和进退,
也是通过控制矩阵和viewport来完成的。每一张显示的照片都是一个texture,
夹在一个矩形框上的。可以轻易让那个框在三维空间任意方向旋转,照片就会跟着转。
只是我觉得没必要,因为那不是这个程序的重点,所以只做成了一个幻灯秀。
我的工作和computer graph有关,曾经在一个生产safe

【在 a****l 的大作中提到】
: That looks cool, but not interested in installing on my machine, sorry.
: What's the point?

a****l
发帖数: 8211
35
Sorry, what I meant was "what's the point of installing it on my computer...
". I definitely agree it's fun and meaningful to make programs like this.
Every software installed should bring something...



【在 O*******d 的大作中提到】
: 写屏保就是一个学习过程。 要使图像有震撼就要学习很多新东西。 对找computer
: graph的工作也很有帮助。 这个屏保程序用了texture mapping, texture
: transformation, image processing, jpg orientation determination, perlin
: noise generation, 还有两个很复杂的专门给万花筒的数据结构,是扇形链结构。
: 从一个中心cell,通过recursive call, 就可以访问遍万花筒的所有cell. 所有的图
: 像都是先变成texture. 然后通过texture transformation使之在三角型或正方型
: 的格子中通过事先计算好的矩阵旋转平移镜射。 整个万花筒还有大旋转和进退,
: 也是通过控制矩阵和viewport来完成的。每一张显示的照片都是一个texture,
: 夹在一个矩形框上的。可以轻易让那个框在三维空间任意方向旋转,照片就会跟着转。
: 只是我觉得没必要,因为那不是这个程序的重点,所以只做成了一个幻灯秀。

1 (共1页)
进入Programming版参与讨论
相关主题
彩色图像创建和显示问题Opengl如何方便地显示一部分Jpg?
请教一个计算机3D渲染方面的问题 (转载)给初学者的建议
computer graphics/vision 领域用哪种语言最多?Windows多媒体编程入门问题
我们组招人,工作内容与opengl和3D modeling有关问一个machine learning/SVM 问题
我写的Windows屏保的最新版本 (转载)菜鸟的苹果编程问题
请教抓取摄像头的图像问题。请教个问题
opengl 问题Ask: OpenGL, opacity
贴两个我数年前写的屏保一个诡异的问题求救!!
相关话题的讨论汇总
话题: 屏保话题: windows话题: 图像话题: 万花筒话题: perlin