问题标签 [surface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 将曲面剪裁到视口
我正在尝试使用采用 Surface 和 X、Y 位置进行渲染的方法来渲染表面。问题是当表面在屏幕之外一个小像素时,它根本不会渲染。
这是为什么?我正在尝试搜索 DirectX 剪辑,但根本找不到任何东西。
...并且 X = 100, Y = 100 不起作用,但 -100 起作用,但它不能正确拉伸。
所需效果的示例图像:
我也一直在尝试将 *pSourceRect 和 *pDestRect 设置为可以剪切表面但没有任何运气的东西。
我正在使用 DirectX9。
c++ - 释放有效的 SDL 表面会导致段错误
[已解决]忘记实现复制构造函数和赋值运算符。使用默认复制分配给的实例将获得与创建它指向的表面的实例相同的指针。一旦其中一个销毁或调用redraw (),另一个保留指向已释放内存的指针,并导致分段错误。
我的应用程序中有一个文本标签类。当它的属性发生变化时,它会自动将自己重新绘制到它的私有表面中。
通常,重绘看起来像这样:
但是代码在释放表面时崩溃(当然,只有一个有效的,因为当它没有要释放的表面时指针等于 0)。
在某些机器上代码运行良好并释放内存也很奇怪。但在其他方面它崩溃了。
如果我注释掉它释放表面的行,应用程序运行良好,但内存泄漏。我没有找到也没有解释,也没有解决方案。
我确实在构造函数中将 _ image设置为 0。除了redraw () 函数(和析构函数)之外,没有任何代码可以更改 _图像值或释放表面。
以某种方式释放内存仅在 XP 上崩溃。如果我注释掉释放部分,它不会崩溃。这两种变体都适用于 win7(x86 和 x64)。
mesh - 柏拉图式(阿基米德)实体的 3d 点到面的映射
我想计算得到的柏拉图(或者可能是阿基米德)实体的表面网格,并为每个面应用置换贴图。网格应显示位移图的精细细节,并且是水密和多方面的(用于 3D 打印)。
为此,我考虑过使用 CGAL 隐式函数 3d 曲面网格划分器。然后,我会将每个体素点映射到相应的面部,应用从体素空间到面部的坐标系变换,并查找面部的高度场。我知道如何为每个面构建变换矩阵,所以我想到了以下算法来测试实体中是否包含体素:
- 找到离点A最近的人脸
- 对于给定的点 A,通过迭代所有顶点并比较与 A 的距离,找到柏拉图式(阿基米德)实体的 3 个最近顶点
- 根据顶点数组中最小的索引对3个顶点进行排序
- 从顶点索引中构建一个整数(字典索引): (v[0] n n+v[1]*n+v[3]*1) 其中 n 是顶点的数量
- 迭代一个元组数组(字典索引,人脸)并找到具有相同字典索引的人脸
- 每个面都有一个预先计算的变换矩阵和一个高度场。应用变换矩阵并查找高度场以了解 A 是在实体内部还是外部
我想存在更好的解决方案,尤其是寻找合适的面孔?另一种方法可能是不使用表面网格器,而是从面中构建表面:获取每个面的位移图并将变换矩阵应用于它以构建实体,但是我需要简化每个面网格并将它们合并不知何故,结果是水密和多方面的(如果置换贴图具有某些值,则面应该支持孔),所以我认为具有隐式函数的基于体素的方法是最通用的工具。
c++ - 游戏运行几分钟后 SDL_Surface 消失?
运行我的小行星游戏几分钟后,代表我的船的 SDL_Surface 消失了。不知何故,保存船舶旋转图像(rot)的表面被设置为 NULL。我不知道为什么!在我添加该行之前if(rot != NULL && image != NULL)
,程序会在运行大约一分三十秒后崩溃,但现在图像消失了。我似乎无法弄清楚什么是错的!提前致谢!
涉及旋转和渲染的 Sprite 类函数。
主要的:
r - 在 R scatter3d 包中检索回归曲面的数据或函数
有谁知道是否可以在 R 的 scatter3d 包中查看用于绘制表面回归的数据?我想要的是能够以某种方式查看应用于 R 中 scatter3d 包中我的数据点的表面回归的公式(或函数)。
c++ - SDL_Surface 未在此范围内声明
我似乎在使用 SDL_Surface(s) 时遇到问题。
这是我的头文件(CApp.h):
这就是问题所在:
错误说'Surf_Display' was not declared in this scope.
c++ - 剪裁平面与几何相交处的曲面
我有一个几何图形,我正在使用几何着色器与 vbo 结合显示。我还有两个剪裁平面,用于显示我想要的对象部分。
现在我想显示一个表面以覆盖由剪裁平面引起的几何图形中的开口(我使用几何着色器渲染一个空心封闭表面)。
我通过两次渲染几何图形来尝试使用模板缓冲区方法。但速度非常慢。
建议一种让它更快的方法。
qt - Qt SDL blit(?)问题
我正在使用 Qt 和 SDL 在我的应用程序上显示表面,我像在此页面上所说的那样初始化小部件,我在窗口上blit 2 或 3 个表面,但唯一的结果是黑屏。当我关闭应用程序时,blitted 图像会出现 1 或 2 帧。
我的代码很长,我不知道女巫部分是错误的,所以我会用你认为有用的行来编辑我的帖子,而不是发布数百行无用的行。
r - 估计未定义曲面的梯度
我想估计未定义表面的梯度(斜率和方面)(即,函数未知)。为了测试我的方法,这里是测试数据:
我将所有内容转换为栅格并使用rasterVis::vectorplot
. 一切看起来都很好。矢量场表示变化幅度最大的方向,阴影类似于我的等高线图......
但是,我需要一个斜率值矩阵。据我了解向量图,它使用 raster::terrain 函数:
然而,坡度似乎真的很高......(90度是垂直的,对吧?!)
如果我绘制斜率和坡向,它们似乎与矢量图形不符。
我的想法:
- Vectorplot 必须平滑斜率,但如何?
- 我相当确定这
raster::terrain
是使用粗纱窗方法来计算斜率。可能是窗口太小了……这个可以扩大吗? - 我是否以不恰当的方式处理这件事?我还能如何估计未定义曲面的斜率?
hidden - 遮挡剔除测试 3d
假设我们有一个身体,其外壳由平面三角形(多边形网格)表示。网格由数百万个多边形组成,以达到所需的精度水平。此外,身体不是凸面的(它不是球体,请查看 wiki 页面“多边形网格”,了解身体的一个很好的例子——海豚)。
对于某个应用程序,我想知道从某个点可以看到哪些多边形。我想强调测试是否可以看到三角形的中心点,因此,一个三角形可能被看到(如果我们看到它的中心点)或被隐藏,我对半看到的多边形不感兴趣。
你能推荐我这样做的好方法吗,我希望将有关多边形可见性的数据作为输出到内存(编程变量 - 所以我将能够进一步使用数据)而不是屏幕