标签: rendering

实施Marching Cube算法?

从我的上一个问题:Marching Cube问题

但是,我仍然不清楚如下:

  1. 如何创建虚构的立方体/体素来检查顶点是否在等值面下?
  2. 我怎么知道哪个顶点在等值面下面?
  3. 每个立方体/体素如何确定使用哪个立方体索引/表面?
  4. 如何使用triTable中的数据绘制曲面?

假设我有一个苹果的点云数据.
我该怎么办?

任何熟悉Marching Cube的人都可以帮助我吗?
我只知道C++和opengl.(c有点偏离我的手)

c++ opengl 3d rendering

6
推荐指数
1
解决办法
1万
查看次数

与使用WPF中的画笔相比,渲染大量重复图像的效果是否更高或更低?

我们公司正在开发的一个应用程序目前显示许多带有渐变的矩形形状来绘制"Tiles".内部讨论提出了一个表现问题.这些图块大约为100像素乘200像素,并且是渐变阴影红色,黄色或绿色.在任何给定时间,屏幕上最多可以有100个这样的图块.难道是更好的性能,我们为每个创建的图像(红,黄,绿),并在必要时重复它,或者它会更好,我们继续使用标准WPF画笔绘制呢?

编辑:为了澄清,我们使用的渐变画笔是LinearGradientBrush.

wpf performance rendering image brushes

6
推荐指数
1
解决办法
376
查看次数

SDL + SDL_ttf:透明混合文本?

我想在SDL_Surface给定的alpha通道上渲染一个消除锯齿的字符串.

我发现有可能呈现:

  • 带有Blended字符串渲染方法变体的消除锯齿的字符串(即:)TTR_RenderText_Blended.但后来我无法透明化.
  • 使用该Shaded方法的抗锯齿字符串.但后来有一个坚实的背景.背景和绘制的字符串可以变得透明,但实时背景仍然存在.传递它透明的背景颜色也是不可能的.
  • 一个非消除锯齿的字符串,我可以像Solid变量一样透明.但它没有消除锯齿.

谢谢

c++ string rendering sdl

6
推荐指数
2
解决办法
4071
查看次数

HTML Canvas - 围绕圆圈的虚线描边

我知道在画布上渲染的虚线描边线没有原生支持,但我已经看到了人们能够为此提供支持的聪明方法.

我想知道的是,是否有任何方法可以将其转换为允许在形状(特别是圆形)周围渲染虚线笔划?

html5 rendering canvas dotted-line

6
推荐指数
2
解决办法
9338
查看次数

如何将一些参数传递给默认的渲染方法?

我正在使用Ruby on Rails 3.0.10,我想将一些参数传递给默认的渲染方法.也就是说,如果我有一个类似的代码

def show
  ...

  respond_to do |format|
    format.html # This, by default, renders the 'show.html.erb' file
   end
end
Run Code Online (Sandbox Code Playgroud)

我想传递一些参数,也许就像(注意:以下不起作用)

def show
  ...

  respond_to do |format|
    # Here I would like to add some local objects that will be available in the 'show.html.erb' template file
    format.html { render ..., :locals => { :content => { :value => 'Sample value' } } }
   end
end
Run Code Online (Sandbox Code Playgroud)

所以在show.html.erb模板中我可以做类似的事情:

<%=
  content[:value]
  # => 'Sample value'
%>
Run Code Online (Sandbox Code Playgroud)

简而言之,我想以与为与:locals键相关的部分模板渲染所做的相同方式传递参数值 …

ruby parameters rendering ruby-on-rails ruby-on-rails-3

6
推荐指数
1
解决办法
1万
查看次数

3D图形:法线贴图与凹凸贴图?

我知道法线贴图描述了在不增加多边形数量的情况下向网格添加细节的过程,并且这是通过使用特定的普通纹理来操纵光线应用于对象的方式来实现的.好的.

  • 但是什么是凹凸贴图呢?它只是普通映射的另一个术语吗?
  • 视觉效果如何比较?两种技术可以结合起来吗?

opengl directx 3d graphics rendering

6
推荐指数
2
解决办法
1716
查看次数

大型几何体GL_REPEAT上的OpenGL ES 2.0纹理扭曲

OpenGL ES 2.0在纹理采样方面存在严重的精度问题 - 我见过类似问题的主题,但我还没有看到这个"扭曲的OpenGL ES 2.0纹理"问题的真正解决方案.

这与纹理的图像格式或OpenGL颜色缓冲区无关,似乎是精度错误.我不知道究竟是什么原因导致精度失败 - 它似乎不仅仅是导致这种失真的几何尺寸,因为简单地缩放传递给顶点着色器的顶点位置并不能解决问题.


以下是纹理失真的一些示例:

纹理问题仅限于OpenGL ES 2.0上的小规模几何体,否则纹理采样看起来是正常的,但是颗粒效果会逐渐恶化顶点数据距离XYZ原点(0,0,0)

桌面OpenGL上不会出现这些纹理问题(在Windows XP,Windows 7和Mac OS X下正常工作)

我只看到Android,iPhone或WebGL上出现问题(类似于OpenGL ES 2.0)


所有纹理都是2的幂,但问题仍然存在

  • 缩放顶点数据 - 顶点的XYZ位置的值在以下范围内:-65536到+65536浮点

    • 我意识到这是大的,所以我试图用1024除以顶点位置收缩的几何形状和希望得到更准确的浮点精确度,但这并没有解决或减少纹理失真问题
  • 缩放模型视图或缩放投影矩阵没有帮助

  • 更改纹理过滤选项没有帮助

    • 禁用mipmapping或使用GL_NEAREST/GL_LINEAR不会执行任何操作
    • 启用/禁用各向异性不会做任何事情
    • 即使使用GL_CLAMP,仍会出现条带效应
  • 将传递给顶点着色器的纹理坐标划分,然后将它们乘以片段着色器中的正确值,也不起作用

  • 精密highp sampler2D,highp浮动,highp INT -在片段或顶点着色器没有任何改变(lowp/mediump也不起作用)

我认为这个问题必须在某一点上得到解决 - 看到基于OpenGL ES 2.0的游戏已经能够渲染出大规模,高度详细的几何

iphone rendering texture-mapping distortion opengl-es-2.0

6
推荐指数
1
解决办法
1371
查看次数

webkit-font-smoothing:在chrome和safari中突然出现不同的结果

我以前在两个webkit浏览器(Chrome和Safari)中都有相同的输出但突然(我不知道我可以改变Chrome中的渲染看起来很糟糕.

这是我的HTML

<li class="cat-item term term-workshops"><a href="/workshops">Workshops</a></li>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS

.term a {
    display:inline-block;
    height:1em;
    -webkit-font-smoothing:antialiased;
    -moz-font-smoothing:antialiased;
    font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    font-smooth:always;
}

.term-workshops a {
    text-transform:lowercase;
    font-family:"Custom-Family", sans-serif;
    font-size:1.4em;
    margin-top:.1em;
}
Run Code Online (Sandbox Code Playgroud)

Safari中的输出看起来不错(以前在Chrome中看起来一样)

苹果浏览器

Chrome中的输出看起来很蹩脚

苹果浏览器

知道为什么会对两个webkit浏览器产生影响吗?我知道它在Firefox中看起来很糟糕,因为没有font-smoothing选项,但如果可能的话,在Chrome和Safari中应该看起来一样.

我可以在我的CSS中改变输出看起来突然不同的东西?我知道两种浏览器看起来都一样!

css fonts rendering webfonts font-face

6
推荐指数
1
解决办法
1万
查看次数

6
推荐指数
1
解决办法
8330
查看次数

Chrome DevTools:慢帧,但没有导致它们的事件

当您在Chrome开发工具的时间轴中有慢帧(用红色三角形表示的那些帧)时,这意味着什么,但它没有显示导致它的原因(脚本,渲染,合成等).这就像没有真正发生但你仍然有janks.

Chrome DevTools时间轴视图

performance rendering google-chrome google-chrome-devtools

6
推荐指数
1
解决办法
624
查看次数