社区
游戏开发
帖子详情
请问OpenGL怎么在程序里面设置几倍抗锯齿?
cpio
2009-05-22 08:47:54
很多游戏画面设置里面可以设置 无、2x,4x,8x等抗锯齿选项。
不知道OpenGL里面怎么设置?
最好是直接调用OpelGL函数。
谢谢
...全文
674
11
打赏
收藏
请问OpenGL怎么在程序里面设置几倍抗锯齿?
很多游戏画面设置里面可以设置 无、2x,4x,8x等抗锯齿选项。 不知道OpenGL里面怎么设置? 最好是直接调用OpelGL函数。 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cpio
2009-05-31
打赏
举报
回复
网上找了个帖子:
wglGetProcAddress获取的是函数指针,而GL_ARB_multisample是多重采样支持,根本不是个函数,当然返回空了。既然支持GL_ARB_multisample了,要采用它可以先获得wglChoosePixelFormatARB函数指针,然后在这个函数的第二个参数的数组列表中指定WGL_SAMPLES_ARB是2、4、8或16倍反走样。
PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB =
reinterpret_cast< PFNWGLCHOOSEPIXELFORMATARBPROC>( ::wglGetProcAddress( "wglChoosePixelFormatARB") );
if( wglChoosePixelFormatARB)
{
float fAttributes[] = { 0, 0 };
int iPixelFormat( 0), iResult( 0);
unsigned int uiNumFormats( 0);
int iAttributes[] =
{
WGL_DRAW_TO_WINDOW_ARB, GL_TRUE,
WGL_SUPPORT_OPENGL_ARB, GL_TRUE,
WGL_DOUBLE_BUFFER_ARB, GL_TRUE,
WGL_SAMPLE_BUFFERS_EXT, GL_TRUE,
WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB,
WGL_COLOR_BITS_ARB, 24,
WGL_ALPHA_BITS_ARB, 8,
WGL_DEPTH_BITS_ARB, 24,
WGL_STENCIL_BITS_ARB, 0,
WGL_SAMPLES_ARB, 8, 0
};
iResult = wglChoosePixelFormatARB( hDC, iAttributes, fAttributes, 1, &iPixelFormat, &uiNumFormats);
if( ( iResult && uiNumFormats >= 1) )
{
SetPixelFormat( hDC, iPixelFormat, &csPFD);
hRC = ::wglCreateContext( m_hDC);
wglMakeCurrent( hDC, hRC);
}// if
}
cpio
2009-05-31
打赏
举报
回复
好像光使用
wglChoosePixelFormatARB
是不行的
我看NEHE教程里面创建了2次窗口
而我不是使用那种方式创建的窗口,是使用一个跨平台的库,那个库创建窗口。
实在不行只能在显卡控制面板里面设置了
zwqxin
2009-05-29
打赏
举报
回复
WGL – 针对Windows平台的扩展
wglChoosePixelFormatARB是获取显卡所支持的,能满足所设定采样参数的像素格式吧
cpio
2009-05-29
打赏
举报
回复
先把帖子结了吧,wgl不是Windows下的吗?
hendriclee
2009-05-27
打赏
举报
回复
Nehe OpenGL教程:全屏反走样(全屏抗锯齿)
cpio
2009-05-27
打赏
举报
回复
谢谢二楼
关键是我在代码里面调用glHint了等函数,传如GL_POINT_SMOOTH_HINT,GL_LINE_SMOOTH_HINT,GL_POLYGON_SMOOTH_HINT之类参数
最后画面也很粗糙
于是我在显卡控制面板里面设置,把anti-aliasing选项由原来的use application setting改为4X(可能是公司电脑显卡不好,最高只有4X)
这样再运行我的程序,画面就不粗糙,而是变得很精细了。
我就想怎么在程序里面实现这个。
alibabademama
2009-05-27
打赏
举报
回复
同意二楼的
--------------完美的签名线-----------------
网页游戏开发第一站
http://dev.web863.com
zwqxin
2009-05-27
打赏
举报
回复
呃,原来还有这种扩展.....支持楼上,学到东西了
程序DEMO是 NEHE的46课,楼主可以把例子下下来看看了
wglChoosePixelFormatARB第二个参数,那个INT数组的第18个索引的值是WGL_SAMPLES_ARB,第19个索引的值看来就是楼主想要那些4x,8x的东西了
aaaa3105563
2009-05-26
打赏
举报
回复
帮顶··
zwqxin
2009-05-26
打赏
举报
回复
不太清楚.
但是我一直认为这些所谓抗锯齿,就是在shader里面做PCF(百分比渐进过滤)....
2x,4x等就是反走样系数(类似模板系数)
至于OPENGL画点,直线之类做抗锯齿是启用混合后,调用glHint等函数,传如GL_POINT_SMOOTH_HINT,GL_LINE_SMOOTH_HINT,GL_POLYGON_SMOOTH_HINT之类参数,没什么2x,4x之类的东西
cpio
2009-05-25
打赏
举报
回复
有没有哪位帮忙解答一下啊?
Android C++
OpenGL
教程
用纯C++实现Android的
OpenGL
渲染功能,包括EGL环境创建、EGL线程创建、
OpenGL
生命周期管理等,会结合SurfaceView和TextureView实现
OpenGL
的渲染,最终我们会实现一个YUV播放器实例,为音视频开发打下坚实的基础。
OpenGL
ES 在几种情况下的 MSAA(Multisample Anti-aliasing)
抗锯齿
OpenGL
ES 在几种情况下的 MSAA(Multisample Anti-aliasing)
抗锯齿
前言为了开启一个Demo的
抗锯齿
,
OpenGL
基础薄弱的我研究了半个多月。终于在同事的帮助指导下实现了。以下对三种情况的
抗锯齿
做个简单的介绍。他们分别是最简单的纯 Java 环境下的
抗锯齿
,Jni 中的
抗锯齿
,以及离屏渲染中的
抗锯齿
。
抗锯齿
之前忽然想起来,在学习如何开启
抗锯齿
时,在网上找到了不少资料
【
OpenGL
】FBO中多重采样
抗锯齿
(MSAA:MultiSampling Anti-Aliasing)
今天在写这样一个
程序
,就是导入一个OBJ模型然后显示出来的时候,遇到了一个问题。我在
程序
中开启了多重采样,在屏幕上显示出来的效果确实有
抗锯齿
。但是当我用FBO离屏渲染,然后保存为BMP图像的时候,发现保存出来的BMP图像并没有
抗锯齿
效果。 问题产生原因及解决方案: 在默认帧缓冲中启用多重采样并不会导致FBO里也会启用多重采样。因此要在FBO里达到多重采样的效果,必须创建适用多重采样的FBO...
抗锯齿
原理
文章转载于:http://geekfaner.com/unity/blog9_AA.html 文章是在网上看到的很不错 分享给大家。 之前玩Cocos的时候是不用
抗锯齿
的,因为2D游戏横平竖直,没什么锯齿。那会就听说做3D游戏一定是要打开AA的。但是现在做3D游戏也有几年了,结果项目
里面
还是不怎么开AA,原因是因为手游的性能问题。不开AA的话锯齿真的蛮严重的,所以还是用一篇文章研究一下各种AA的效果和性能,方便以后做个权衡。 首先先转载两篇文章电影级高画质!3D游戏
抗锯齿
技术解析和孰优孰劣比比看,7种
Qt下的
OpenGL
编程(6)混合、雾、
抗锯齿
一、提要 混合:对颜色进行混合,实现像“半透明”一样的效果。
抗锯齿
:使直线和多边形的锯齿状边缘变得平滑。 雾:创建具有大气效果的场景。 二、混合 混合的最终效果是使场景看上去像是半透明的。 一个通俗的方式来解释混合的话,例如透过绿色的玻璃观察一个物体,我们看到的颜色部分来自于玻璃的绿色,部分来自于 物体的颜色。这两种颜色所占
游戏开发
8,304
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章