Graphics 版 (精华区)

发信人: jun (☆子夜☆), 信区: Graphics
标  题: OpenGL 中如何实现体素构造(CSG) ?
发信站: 哈工大紫丁香 (Sat Jan  9 14:19:50 1999), 转信

发信人: qhchen (老道  ), 信区: Graphics
发信站: BBS 水木清华站 (Mon Nov  2 09:23:43 1998)


      我想用 OpenGL 的环境来实现 CSG (体素构造).
如:把一个大的球,在里面挖去一个小球,或者在外面
挖去一个小球或立方体。
     查阅参考手册,发现 OpenGL 有一类 gluTess*() 的库,
似乎可以做到。但我遇到问题有二:(在 VC++ 5.0 上)

   1 glTessCallback() 调用函数编译通不过,提示为:
cannot convert parameter 3 from 'void (const double *)'
to 'void (__stdcall *)(void)' 对此我束手无策。

   2 就算上述问题解决了,还有一个:按所给函数,只能实现
在同一平面上的几个多边形的交、并、差运算,也就是说,只能
对 2D 实现。对于三维物体,如何实现交、并、差运算,则要
进一步转换实现。具体如何做,我不知道也。

   请高手帮我!
   如果您有这方面的例子请寄到:qhchen@263.net
   不胜感谢!
--
    平生不见陈近南,便称英雄亦惘然

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.38.68.76]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sunup.bbs@bbs.net.ts]
发信人: jun (☆子夜☆), 信区: Graphics
标  题: Re: OpenGL 中如何实现体素构造(CSG) ?
发信站: 哈工大紫丁香 (Sat Jan  9 14:20:53 1999), 转信

发信人: pinxue (品雪), 信区: Graphics
发信站: BBS 水木清华站 (Mon Nov  2 12:14:33 1998)

【 在 qhchen (老道  ) 的大作中提到: 】
:       我想用 OpenGL 的环境来实现 CSG (体素构造).
: 如:把一个大的球,在里面挖去一个小球,或者在外面
: 挖去一个小球或立方体。
:      查阅参考手册,发现 OpenGL 有一类 gluTess*() 的库,
: 似乎可以做到。但我遇到问题有二:(在 VC++ 5.0 上)
:    1 glTessCallback() 调用函数编译通不过,提示为:
: cannot convert parameter 3 from 'void (const double *)'
: to 'void (__stdcall *)(void)' 对此我束手无策。
:    2 就算上述问题解决了,还有一个:按所给函数,只能实现
: 在同一平面上的几个多边形的交、并、差运算,也就是说,只能
: 对 2D 实现。对于三维物体,如何实现交、并、差运算,则要
: 进一步转换实现。具体如何做,我不知道也。
:    请高手帮我!
:    如果您有这方面的例子请寄到:qhchen@263.net
:    不胜感谢!

你看看3ds(max)里的布尔运算的作法吧,大概是得自己计算表面
顶点的,别忘了,opengl只是一个底层API,好象VC5的帮助里有说明的呀。

--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.102.45.212]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sunup.bbs@bbs.net.ts]
发信人: jun (☆子夜☆), 信区: Graphics
标  题: Re: OpenGL 中如何实现体素构造(CSG) ?
发信站: 哈工大紫丁香 (Sat Jan  9 14:21:55 1999), 转信

发信人: vouge (greep), 信区: Graphics
发信站: BBS 水木清华站 (Mon Nov  2 14:35:09 1998)

用stencil buffer可以实现.
另外看一下siggraph 97或98的OpenGL文档,里面有这方面的专题.而且还有不止一个的例
子.
文档去http://pinxue.yeah.net
例子去ftp://202.120.6.34/incoming/opengl-optimizer1.1/opengl-sig98-samples.zip
或直接去SGI的OpenGL站点:http://www.sgi.com/Technology/openGL/index.html

【 在 pinxue (品雪) 的大作中提到: 】
: 标  题: Re: OpenGL 中如何实现体素构造(CSG) ?
: 发信站: BBS 水木清华站 (Mon Nov  2 12:14:33 1998)

: 【 在 qhchen (老道  ) 的大作中提到: 】
: :       我想用 OpenGL 的环境来实现 CSG (体素构造).
: : 如:把一个大的球,在里面挖去一个小球,或者在外面
: : 挖去一个小球或立方体。
: :      查阅参考手册,发现 OpenGL 有一类 gluTess*() 的库,
: : 似乎可以做到。但我遇到问题有二:(在 VC++ 5.0 上)
: :    1 glTessCallback() 调用函数编译通不过,提示为:
: : cannot convert parameter 3 from 'void (const double *)'
: : to 'void (__stdcall *)(void)' 对此我束手无策。
: :    2 就算上述问题解决了,还有一个:按所给函数,只能实现
: : 在同一平面上的几个多边形的交、并、差运算,也就是说,只能
: : 对 2D 实现。对于三维物体,如何实现交、并、差运算,则要
: : 进一步转换实现。具体如何做,我不知道也。
: :    请高手帮我!
: :    如果您有这方面的例子请寄到:qhchen@263.net
: :    不胜感谢!

: 你看看3ds(max)里的布尔运算的作法吧,大概是得自己计算表面
: 顶点的,别忘了,opengl只是一个底层API,好象VC5的帮助里有说明的呀。

: --
: ※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.102.45.212]


--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.120.5.205]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sunup.bbs@bbs.net.ts]
发信人: jun (☆子夜☆), 信区: Graphics
标  题: Re: OpenGL 中如何实现体素构造(CSG) ?
发信站: 哈工大紫丁香 (Sat Jan  9 14:26:29 1999), 转信

发信人: tq (天天), 信区: Graphics
发信站: BBS 水木清华站 (Tue Nov  3 20:04:43 1998)


把×。DLL考到WIN的SYSTEM目录下试试。



【 在 qhchen (老道  ) 的大作中提到: 】
:           谢谢您的指点。我已下载了那些例子。不过那些例子运行不了,运行时,
: 总是提示“程序启动出错”。连接时,我把 opengl32.lib glu32.lib glut32.lib
: 等都带上了,并且把相应的 .DLL 都 拷到了 VC 的  bin   目录下,应该是没问题的。
: 但不知为何,总出现上述问题。我不编译,直接执行那个 zip  包中的 .exe  文件,
: 同样出现上述问题。
:          事实上,我还从没使用 glut 成功过。是不是这个库不适合微机上使用?


--
--------
TTTTTTTTTTTTTTTT
QQQQQQQQQQQQQQQQ
此情可待成追忆,只是当时已惘然。
TTTTTTTTTTTTTTTT
QQQQQQQQQQQQQQQQ

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.115.65]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sunup.bbs@bbs.net.ts]
发信人: jun (☆子夜☆), 信区: Graphics
标  题: Re: OpenGL 中如何实现体素构造(CSG) ?
发信站: 哈工大紫丁香 (Sat Jan  9 14:26:34 1999), 转信

发信人: qhchen (老道  ), 信区: Graphics
发信站: BBS 水木清华站 (Tue Nov  3 16:38:26 1998)

【 在 vouge (greep) 的大作中提到: 】
: 用stencil buffer可以实现.
: 另外看一下siggraph 97或98的OpenGL文档,里面有这方面的专题.而且还有不止一个的例
: 子.
: 文档去http://pinxue.yeah.net
: 例子去ftp://202.120.6.34/incoming/opengl-optimizer1.1/opengl-sig98-samples.zip
: 或直接去SGI的OpenGL站点:http://www.sgi.com/Technology/openGL/index.html
        
          谢谢您的指点。我已下载了那些例子。不过那些例子运行不了,运行时,
总是提示“程序启动出错”。连接时,我把 opengl32.lib glu32.lib glut32.lib
等都带上了,并且把相应的 .DLL 都 拷到了 VC 的  bin   目录下,应该是没问题的。
但不知为何,总出现上述问题。我不编译,直接执行那个 zip  包中的 .exe  文件,
同样出现上述问题。

         事实上,我还从没使用 glut 成功过。是不是这个库不适合微机上使用?


--
    平生不见陈近南,便称英雄亦惘然

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.38.68.76]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sunup.bbs@bbs.net.ts]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:17.121毫秒