当前位置: 首页 > 知识库问答 >
问题:

如何使用P3D渲染器实现noshlooth()?

徐涵亮
2023-03-14

我想使用P3D渲染器用PGraphics实例渲染基本的3D形状,而不使用任何别名/平滑,但是noslooth()似乎不起作用。

我记得在一个纹理上调用SettextUremagFilter(GL_Nesulate,GL_Nesulate);

处理过程中的等价物是什么?

PGL.TEXTURE_MIN_FILTER = PGL.NEAREST;
PGL.TEXTURE_MAG_FILTER = PGL.NEAREST;
PGraphics buffer;
PGraphicsOpenGL pgl;

void setup() {
  size(320, 240, P3D);
  noSmooth();
  //hint(DISABLE_TEXTURE_MIPMAPS);

  //((PGraphicsOpenGL)g).textureSampling(0);

  //PGL pgl = beginPGL();
  //PGL.TEXTURE_MIN_FILTER = PGL.NEAREST;
  //PGL.TEXTURE_MAG_FILTER = PGL.NEAREST;
  //endPGL();

  buffer=createGraphics(width/8, height/8, P3D);
  buffer.noSmooth();
  buffer.beginDraw();
  //buffer.hint(DISABLE_TEXTURE_MIPMAPS);
  //((PGraphicsOpenGL)buffer).textureSampling(0);
  PGL bpgl = buffer.beginPGL();
  //PGL.TEXTURE_MIN_FILTER = PGL.NEAREST;//commenting this back in results in a blank buffer
  PGL.TEXTURE_MAG_FILTER = PGL.NEAREST;
  buffer.endPGL();
  buffer.background(0);
  buffer.stroke(255);
  buffer.line(0, 0, buffer.width, buffer.height);
  buffer.endDraw();
}
void draw() {

  image(buffer, 0, 0, width, height);
}

共有1个答案

邢寒
2023-03-14

你其实是在正确的轨道上。您只是向textureSampling()传递了错误的值。

因为关于pgraphicsopengl::textureSampling()的文档至少有点少。我决定使用反编译器来达到峰值,该反编译器将我引导到texture::usingmipmaps()。在那里,我能够看到这些值以及它们所反映的内容(在反编译的代码中)。

2 = POINT
3 = LINEAR
4 = BILINEAR
5 = TRILINEAR

其中pgraphicsopengl的默认texturesampling5(TRIRINEAR)。

size(320, 240, P3D);
noSmooth();

buffer = createGraphics(width/8, height/8, P3D);
((PGraphicsOpenGL) buffer).textureSampling(2);
 类似资料:
  • 请直接参考源码目录 /ssr/nuxt

  • Vaadin框架指南有一页描述了如何在Vaadin网格中使用列渲染器。这一页描述了实现渲染器,但太简短了。 我想实现一个来补充Vaadin 8.1中添加的部分java.time渲染器集。为添加了渲染器 因此,我的代码应该与提供的LocalDateTimeRenderer非常相似。我正试图遵循该准则作为指导。 在搜索Vaadin源代码和阅读文档时,我似乎需要三段源代码: InstantRendere

  • 我需要使用Qt3D在QtQuick应用程序中渲染本机预渲染的OpenGL纹理。 我使用cuda将场景实时渲染到绑定到帧缓冲区的纹理。然后我想在qml场景中显示渲染的纹理。 似乎,我必须以某种方式干预渲染传递并在我的纹理GLuint上调用glBindTexture()。 当然有一个解决方法,我可以将纹理从视频内存加载到一些缓冲区,然后创建QTexture2D,并使用QTextureImageData

  • 我无法呈现一个selectOneMenu,但只能禁用该项目 例如,这是可行的: 而这个不是: 有什么建议吗 谢谢

  • 问题内容: 渲染模板后如何运行方法?我要设置和之后,我需要使用JQuery进行更改(例如,在模板内容的DOM中)。正在“之前”渲染工作(模板的DOM尚不可用)。谢谢。 问题答案: 创建在链接函数中运行代码的指令。构建模板后,将调用链接功能。 请参阅ng-click以获取想法。