码迷,mamicode.com
首页 > 其他好文 > 详细

osg中使用geometry shader方式

时间:2020-03-21 14:26:15      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:str   family   使用   uri   版本   ogr   ade   ice   enable   

可以参考osg示例代码osggeometryshaders

它用glsl版本比较老#version 120

#extension GL_EXT_geometry_shader4 : enable

使用gl_PositionIn[],而不能使用gl_in[],这个需要更高版本

类似以下代码:

#version 150
layout(triangles) in;
layout(triangle_strip, max_vertices=3) out;
vec4 p0_3d = gl_in[0].gl_Position;
vec4 p1_3d = gl_in[1].gl_Position;
vec4 p2_3d = gl_in[2].gl_Position;

需要使用osg::Program* p;

p->setParameter(GL_GEOMETRY_VERTICES_OUT_EXT ,3);//对应max_vertices=3

p->setParameter(GL_GEOMETRY_INPUT_TYPE_EXT ,GL_TRIANGLES);//对应layout(triangles)

p->setParameter(GL_GEOMETRY_OUTPUT_TYPE_EXT ,GL_TRIANGLE_STRIP);//对应layout(triangle_strip

osg中使用geometry shader方式

标签:str   family   使用   uri   版本   ogr   ade   ice   enable   

原文地址:https://www.cnblogs.com/coolbear/p/12539034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!