Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OpenGL ES/OpenGL中创建透明玻璃杯?_Opengl_Opengl Es - Fatal编程技术网

如何在OpenGL ES/OpenGL中创建透明玻璃杯?

如何在OpenGL ES/OpenGL中创建透明玻璃杯?,opengl,opengl-es,Opengl,Opengl Es,有没有办法用OpenGL ES/OpenGL创建一个玻璃杯?如果可能的话,我可以阅读什么来开始创作?需要获得最真实的玻璃视图,例如- 看 为了简单起见,没有手柄 也许,有人有关于资料来源的例子吗 谢谢。获取与链接图像非常接近的内容将非常复杂(手柄不是最难的部分)。如果这是一个学习项目,我建议从较小的规模开始。更粗略的近似值将是一个更好的起点 您可以在OpenGL ES中轻松创建半透明对象。您需要的OpenGL功能是Alpha混合。但这不会让你离酒杯很近 复制此对象的一个基本级别是使用手绘的浅灰色

有没有办法用OpenGL ES/OpenGL创建一个玻璃杯?如果可能的话,我可以阅读什么来开始创作?需要获得最真实的玻璃视图,例如-

为了简单起见,没有手柄

也许,有人有关于资料来源的例子吗


谢谢。

获取与链接图像非常接近的内容将非常复杂(手柄不是最难的部分)。如果这是一个学习项目,我建议从较小的规模开始。更粗略的近似值将是一个更好的起点

您可以在OpenGL ES中轻松创建半透明对象。您需要的OpenGL功能是Alpha混合。但这不会让你离酒杯很近

复制此对象的一个基本级别是使用手绘的浅灰色纹理,看起来有点像内部折射,并将其绘制在具有部分透明度的面向摄影机的精灵上。然后使用少量环境光和漫反射光以及大量镜面反射光渲染具有高透明度的规则杯形模型,使其看起来有光泽

圆形玻璃对象的多次反弹折射效果要困难得多。特别是如果你想让它看起来有说服力,而不是在杯子后面的空白背景。在光线跟踪器中执行此操作相当简单,但在像OpenGL这样的光栅化器中则不然。查找焦散。有一些方法可以近似这种效果,但它们不是初学者项目。
根据这一点,如果你是认真的话,在过剩中有一些例子

使用可编程着色器,可以创建漂亮的玻璃效果,例如反射与折射相结合。OpenGLES2.0有可编程着色器,但OpenGLES1.X没有


AMD RenderMonkey(免费)提供了一个使用OpenGL ES 2.0的玻璃的好例子,看看玻璃的例子。

我知道这篇文章已经有一年多的历史了,但我偶然发现了它


ES 1.1还是2.0?OpenGL 1.5及之前或2.1及之后?如果您可以访问着色器,将使照明和反射/折射更容易。我不确定是否支持OpenGL ES着色器,但标准OpenGL有很好的着色器支持,一个相对简单的着色器将允许您执行暗边、半透明等操作。非常好。非常感谢。