Articles of 反锯齿

从Autodesk 3ds导出地形的问题

我正在尝试做一些小型的反击游戏,对于地形部分,我已经从Autodesk 3ds-max导出了3ds格式的地形,并使用lib3ds在opengl中导入了相同的地形。 它工作正常,但几乎没有问题: 地形主要由一些立方体的盒子构成,并放置在一个平坦的大面积的边界上。 在opengl我已经启用了抗锯齿,但仍然有太多的边界(旋转相机时可见)的别名。 我用一些图像铺平了地板,但是在opengl中,它只是在整个表面上延伸的单个图像。 我已经从3ds导出animation模型(Skelton +网格+材质+animation),并使用cal3d库来读取。 模型有一个也没有出现在opengl中的枪,它也有太多的别名问题。 我search了一下,但找不到任何相关的解决scheme。 提前致谢

重置Opengl多重采样

我开始使用多重采样 ContextAttribs attribs = new ContextAttribs(3, 3).withForwardCompatible(true).withProfileCore(true); Display.create(new PixelFormat().withSamples(8), attribs); GL11.glEnable(GL13.GL_MULTISAMPLE); 我将如何重置它使用多less个样本?

如何在OpenTK中启用FSAA?

我所能find的就是这个问题 ,但GraphicsMode本身并不支持消除锯齿: using System.Drawing; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; class Program { static void Main() { using (var window = new GameWindow(800, 60, new GraphicsMode(32, 24, 0, 8))) { window.Resize += (sender, e) => { GL.Viewport(window.Size); }; window.RenderFrame += (sender, e) => { GL.Clear(ClearBufferMask.ColorBufferBit); GL.Color3(Color.Red); GL.Begin(PrimitiveType.Triangles); GL.Vertex2(-1, 1); GL.Vertex2(-1, 0); GL.Vertex2(1, 0); GL.End(); window.SwapBuffers(); […]

OpenGL – 禁止消除别名

我找不到任何关于如何暗示驱动程序禁用任何antialias。 我正在使用一个非常小的直通设置,但我注意到我的驱动程序仍在做什么看起来像MSAA。 我想禁用这个,或者至less给一个强烈的提示来禁用它,所以为了节省性能。 因为我将用自己的SSAA做延期渲染。

使用抗锯齿方法渲染等轴测TMXTilemap

我目前正在使用等角拼贴地图的cocos2d-x项目。所有的拼图都小到64 * 64像素。所以我必须稍微缩放地图。TMXTilemap非常方便,但是它的渲染方法可以缩放然后把它们画在一起,如果你在地图纹理上使用“anti-aliasing”的话,会在tile之间产生黑色的缝隙。所以我想先渲染整个贴图,然后用anti – 平滑方法看起来不错。我不知道我能做到这一点。

Monogame +渲染目标+抗锯齿不起作用

是否有任何适当的方法来使用抗锯齿,而渲染到RenderTarget2D和使用Monogame? 我这样做: renderTarget = new RenderTarget2D(GameData.GraphicsDevice, pp.BackBufferWidth, pp.BackBufferHeight, false, GameData.GraphicsDevice.DisplayMode.Format, DepthFormat.Depth24, 4, RenderTargetUsage.DiscardContents); 但是尽管将multiSampleCount设置为4,但AA multiSampleCount禁用。硬件支持此function,如果直接渲染到后台缓冲区,则AA将multiSampleCount 。 我search了一下,似乎它曾经为XNA工作,但对于Monogame,我发现这个: https : //github.com/mono/MonoGame/issues/1162 这个链接表明这是一个开放的问题,是从2013年开始的。这对我来说很难相信,因为这将有效地使Monogame渲染目标不能用于大多数应用程序。

在着色器中生成抽样程序纹理?

我们有一个自定义的Unity表面着色器,可以生成一些程序模式。 然而,当模式频率太高(由距离,表面角度变差)时, 我们正在变得非常糟糕的莫尔效应 。 我想在纹理上应用某种模糊来减less这种莫尔效应。 我能find的所有着色器模糊示例都依赖于从纹理位图采样周围像素 。 由于我们已经按照像素程序生成了这个模式,所以这个位图不存在。 有没有人知道我们可能会在这种情况下引入某种模糊效果,以减less波纹? 谢谢。

xna hlsl中的2D Mask抗锯齿

我有两个纹理2D,其中之一是一个面具纹理,并有2种颜色,我用它作为面具(filter)第二纹理2D东西 float4 tex = tex2D(sprite, texCoord); float4 bitMask = tex2D(mask, texCoord); if (bitMask.a >0) { return float4(0,0,0,0); } else { return float4(tex.b,tex.g,tex.r,1); } 但是因为蒙版纹理只是两种颜色,结果太锯齿了,我想知道我怎么可以做一些antialiasing的边缘,平滑这些ty阅读和sry为我的坏英语

XNA仅适用于3D的多重采样

我正在研究一个由3D元素和2D GUI组成的游戏。 我有它正常工作,但我想只为3D部分,而不是2D纹理多重采样。 否则,GUI图标变得模糊。 这是我的Draw方法的代码 protected override void Draw(GameTime gameTime) { graphics.PreferMultiSampling = true; graphics.ApplyChanges(); GraphicsDevice.Clear(Color.Black); GraphicsDevice.SamplerStates[0] = SamplerState.PointWrap; GraphicsDevice.DepthStencilState = DepthStencilState.Default; foreach (Element e in Elements)// 3D part { e.Draw(GraphicsDevice, camera); } graphics.PreferMultiSampling = false; graphics.ApplyChanges(); spriteBatch.Begin(); UIM.Draw(GraphicsDevice, spriteBatch); spriteBatch.End();// base.Draw(gameTime); } 使用这段代码,我得到了一个exception,因为我的所有Texture2D因为某种原因而被处置。 在Draw方法的中间有没有办法改变MultiSampling?

反锯齿小图像?

正如你上面看到的,我有一个我一直在使用Java的游戏的形象。 使用AWT我添加了以下内容: public static void drawImageRotated( Graphics2D g2d, BufferedImage img, double x, double y, int scale, double angle) { BufferedImage image = new BufferedImage( (int)(img.getWidth() * 1.5D), (int)(img.getHeight() * 1.5D), 2); Graphics2D g = (Graphics2D)image.getGraphics(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.rotate(Math.toRadians(angle), image.getWidth() / 2, image.getHeight() / 2); g.drawImage(img, image.getWidth() / 2 – img.getWidth() / 2, image.getHeight() / 2 […]