osg学习(七十一)如何给顶点着色器传递顶点数据
Posted hankern
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了osg学习(七十一)如何给顶点着色器传递顶点数据相关的知识,希望对你有一定的参考价值。
缩放不会影响传递到着色器中顶点坐标缩放
osg会自动向着色器传递osg_Vertex、osg_ModelViewProjectionMatrix等变量,不需要再定义,在着色器中直接使用即可。
设置顶点数据
osg/Geometry.cpp
void Geometry::setVertexArray(Array* array)
_vertexArray = array;
两种上传方式
通过glVertexPointer向顶点着色器派发,通过gl_ModelViewProjectionMatrix gl_Vertex gl_Normal gl_MultiTexCoord1等访问相应的顶点属性信息。
osg/VertexArrayState.cpp
virtual void dispatch(osg::State& /*state*/, const osg::Array* new_array)
VAS_NOTICE<<" VertexArrayDispatch::dispatch("<<new_array->getNumElements()<<")"<<std::endl;
glVertexPointer(new_array->getDataSize(), new_array->getDataType(), 0, new_array->getDataPointer());
以上是关于osg学习(七十一)如何给顶点着色器传递顶点数据的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据从顶点着色器传递到片段着色器,中间有着色器[重复]