[软件设计]
Glut Demo 小程序 - 渲染半透明立方体和球体
任务编号:588128
悬赏任务200元
悬赏任务 : 按雇主需求进行任务后提交稿件,被采纳后即获得佣金。
Glut Demo 小程序 - 渲染半透明立方体和球体
距截止:
任务已圆满完成
雇主已托管赏金:200 元
雇主发布需求
雇主托管佣金
服务商投稿
雇主开始选稿
任务完成
任务大厅共需1个合格投稿 | 每稿将获得200 元 | 每人交稿次数不限 可多次任务
投诉举报
联系Ta
我来承接
已有1 个投稿 | 已采纳1 稿 | 拒绝0 稿 | 目前中标名额已满
任务需求:
请先看图,然后再继续阅读下面列出的需求点
1. 详细需求
首先渲染一个立方体
- 带有简单的光照 (比如环境光 + 散射光),有基本的三维效果
- 立方体是半透明的
- 立方体的 12 条边额外用线条加强显示,在背面的勾勒线由于被遮挡,颜色较淡
然后把多个立方体组合到一起,形成一个组合立方体
- 目标是即使存在遮挡,也能一目了然看清空间划分和边界
作为参考,可以使用下面的五个立方体作为测试场景 (参考附图)
50*50*50 立方体 * 4
100*100*50 立方体 * 1 (紧贴上面的 4 个立方体)
接下来再渲染一些半透明球体,有红色球和绿色球两种
- 要求视线重叠处颜色可以叠加
- 球体本身可以不带任何三维效果,看起来像是平面下的圆一样
最后在每个立方体内部生成 5 个随机球体,大小、颜色、坐标均随机,并观察最终效果
- 可以通过鼠标左键拖动实现对整个场景自由观察,即相机在一个球体上可沿经线、纬线方向移动,视线始终经过球心
- 可以通过改变常量,在编译前切换平行投影 / 开透投影,默认为平行投影
需求要点
0. 使用尽可能简洁的编码风格来实现这个 Demo,单个 C/C++ 文件实现
1. 立方体是半透明的
2. 立方体要有 (光照)三维效果立体感,不能每个面颜色完全一样
3. 立方体要有勾勒线
4. 立方体背面的勾勒线颜色较浅
5. 对组合立方体能一目了然看清空间划分结构和边界
6. 红色和绿色球体也是半透明的,视线重叠处颜色自动叠加
7. 在每个立方体中生成一些随机球体作为 Demo 的一部分
8. 支持鼠标拖动实现对场景自由观察
9. 支持编译前在平行投影 / 开透投影间进行切换
需要在程序开头处定义成常量的参数:
- 立方体颜色、勾勒线颜色
- 立方体透明度、勾勒线透明度
- 红色球体颜色、绿色球体颜色、球体透明度
- 投影方式: 平行投影 / 开透投影
- 完成以上需求点,提供 C/C++ 源码
- 录制一段小视频 (移动镜头观察) 作为实际实现效果的直观展示
要求开发者具有 OpenGL 程序开发经验 (从头学起也来不及啊喂)
(PS: 尽量使用邮件沟通)
|
|
|
|
|