位置: 编程技术 - 正文
推荐整理分享【C#/OpenGL】CSGL库中2D纹理加载PNG等透明图片显示的黑边问题(c# opengl 3d),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:c语言opengl代码,c语言opengl,c++ opengles,c++ opengles,c# opengl 3d,c#opengl入门,c opengl,c#opengl入门,内容如对您有帮助,希望把文章链接给更多的朋友!
CSGL加载PNG式图片作为纹理映射显示后是有黑边的,使用的是CSGL封装的OpenGLTexture2D类。
后来查了很多OpenGL透明纹理的资料,网上找了各种其他语言的透明纹理实现,在CSGL库上均不起效,最后怀疑是CSGL底层封装时对像素的处理有问题。
反正是开源库,那就打开源码看看,最后自己实现了一个加载纹理的函数,和一个绘制纹理到二维坐标系的函数。
有效解决了黑边的问题,但是还有如下小问题没有解决:
1.只能区分透明和不透明(0或 Alpha),中间的其他半透明效果均无法正确融合显示
2.图片缩放后会有空白像素点,可能是线性过滤导致的,但不开启过滤也无法正常显示纹理。
混合 voidglBlendFunc(GLenumsfactor,GLenumdfactor);所有代码按键B切换是否混合上键调整混合模式左右键调整原RGB透明度#includeWindows.h#includeglGL.h#includeglGLU.h#pragmacomment(l
OpenGL--3D世界(视图变换,模型变换,投影变换,视口变换) 理论基础1,OpenGL渲染3D物体到屏幕上的过程其实类似我们平时用照相机拍照的过程,这个步骤大致如下:一,把照相机固定在三脚架并让它对准场景(视
openGL 矩阵的旋转-平移-缩放 1.openGL的矩阵openGL的矩阵是列优先排序的。就是说,矩阵的数据是存贮在一维数组中,数据上传到openGL处理的时候,会把一维数据的每一行当做列来处理
标签: c# opengl 3d
本文链接地址:https://www.jiuchutong.com/biancheng/369605.html 转载请保留说明!友情链接: 武汉网站建设