|
楼主 |
发表于 2013-9-28 19:25:39
|
显示全部楼层
liuzhiyu123 发表于 2013-9-27 11:31
考虑使用float texture
我还想问一下 正常传入的texture是否都应该是 32位 的位图呢?
我找到以下代码
osg::Texture* texture = new osg::Texture2D;
osg::Image* image = new osg::Image();
image->allocateImage(size, size, 1, GL_LUMINANCE, GL_FLOAT);
texture->setInternalFormat(GL_LUMINANCE32F_ARB);
texture->setFilter(osg::Texture::MIN_FILTER, osg::Texture:INEAR);
texture->setFilter(osg::Texture::MAG_FILTER, osg::Texture::LINEAR);
texture->setWrap(osg::Texture::WRAP_S, osg::Texture::CLAMP_TO_EDGE);
texture->setWrap(osg::Texture::WRAP_T, osg::Texture::CLAMP_TO_EDGE);
texture->setImage(image);
image->allocateImage(size, size, 1, GL_LUMINANCE, GL_FLOAT);这句是否就是让 texture为floatl类型?用GL_FLOAT 这个参数
以上生成的image我通过 witeImageFile 看到其位深度都是24 这样的纹理 传到 vertexshader 中会有问题吗?
多谢 liuzhiyu123 !!! |
|