小编bra*_*jam的帖子

在HTML画布中的形状下清除像素

我使用的是HTML画布和JavaScript,我需要清除所有通过关闭路径(例如创建的形状下的像素的,我使用的海军报,我想使圆角,而要做到这一点,我首先需要通过在角落顶部绘制曲线以移除所需的像素来移除方角.

现在,我对即将填充用相同的颜色作为背景,它可以模仿一下我想要做的形状这样做,但是,它不是理想的,因为它使得它不可能图表放置在非顶固没有看到方角的背景.我知道,有一个clearRect方法,将做我想做的事情,但只有矩形,我需要的任何封闭的形状做.有可能,如果是的话,我该怎么做?

html javascript html5 canvas

5
推荐指数
3
解决办法
5729
查看次数

如何挤出平面2D网格,给它深度

我有一组共面的连接三角形,即2D网格.现在我需要在z轴上挤出几个单位.网格由一组顶点定义,渲染器通过匹配三角形数组来理解这些顶点.

示例网格:

顶点:(0,0,0),(10,0,0),(10,10,0),(0,10,0)< - (x,y,z)三角形:(1,2, 3)&(3,4,1)< - 数字在这里引用上面顶点的位置.

所以这里我们有一个2D广场.现在我需要在该列表中添加更多顶点和三角形以形成拉伸形状.三角形必须是顺时针方向,否则它们会被背面剔除.

有一个简单的算法吗?谢谢.

c# 3d 2d mesh

5
推荐指数
1
解决办法
6966
查看次数

鉴于其三面,在坐标平面中绘制三角形

将给出三角形的三边长度a,b和c,我需要找到顶点的坐标.中心(可能是外心)可以是原点或(x,y).

谁能指出我正确的方向?

math html5 drawing canvas graph

5
推荐指数
3
解决办法
6059
查看次数

Xcode - 为条件编译定义预处理器宏

我正在使用XCode 4,在我的项目构建设置中,我设置了:

Preprocessor macros
   Debug   DEBUG;FULL
   Release FULL
Run Code Online (Sandbox Code Playgroud)

在同一项目的另一个目标中:

Preprocessor macros
   Debug   DEBUG;LITE
   Release LITE
Run Code Online (Sandbox Code Playgroud)

这两个目标使用完全相同的文件,但plist信息文件是不同的.

然后在我的代码中,我写道:

#ifdef FULL
    // ###### FULL VERSION
    NSLog(@"test");
    // ###### 
#endif
Run Code Online (Sandbox Code Playgroud)

但是从未写过日志.

我究竟做错了什么 ?我不希望(需要)为FULL语句设置一个值.

macros xcode preprocessor conditional-compilation

5
推荐指数
1
解决办法
4797
查看次数

iOS glGenerateMipmap 是同步的,还是可能是异步的?

我正在开发一个在 OpenGL ES 中使用大纹理的 iPad 应用程序。当场景第一次加载时,我在天花板上看到一个大的黑色伪影,持续几帧,如下图所示。就好像更高级别的 mipmap 尚未填充。在后续帧中,天花板正确显示。

当我开始使用 mipmapping 时,这个问题才开始出现。一种可能的解释是 glGenerateMipmap() 调用异步执行其工作,生成一些 mipmap 创建工作程序(在单独的进程中,或者可能在 GPU 中)并返回。

这是可能的,还是我叫错了树?

不存在更高的 mipmap 级别

opengl-es mipmaps ipad ios

5
推荐指数
1
解决办法
1356
查看次数

确定一组点是否位于规则网格上

问题:假设您在 2D 平面中有一组点。我想知道这组点是否位于规则网格上(如果它们是 2D 点阵的子集)。我想要一些关于如何做到这一点的想法。

现在,假设我只关心这些点是否形成轴对齐的矩形网格(底层晶格是矩形,与 x 轴和 y 轴对齐),并且它是一个完整的矩形(网格的子集)晶格有一个没有孔的矩形边界)。任何解决方案都必须非常有效(优于 O(N^2)),因为 N 可以是数十万或数百万。

上下文:我编写了一个 2D 矢量场图生成器,它适用于任意采样的矢量场。在采样在规则网格上的情况下,有更简单/更有效的插值方案来生成绘图,我想知道什么时候可以使用这种特殊情况。特殊情况已经足够好,值得做。该程序是用 C 编写的。

math geometry computational-geometry

4
推荐指数
1
解决办法
2202
查看次数

使用带有多重采样的glReadPixel()读取数据

目前我正在尝试从帧缓冲区读取像素数据,以便在IOS中捕获屏幕.使用以下代码设置帧缓冲区时,GlreadPixels命令工作正常: -

//buffers
// Create a depth buffer that has the same size as the color buffer.
glGenRenderbuffersOES(1, &m_depthRenderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, m_depthRenderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT24_OES, width, height);

// Create the framebuffer object.

glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES,
                             GL_RENDERBUFFER_OES, m_colorRenderbuffer);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES,
                             GL_RENDERBUFFER_OES, m_depthRenderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, m_colorRenderbuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
Run Code Online (Sandbox Code Playgroud)

但是当我使用深度缓冲和颜色缓冲进行多重采样时,glreadpixels()不会像以前的代码那样捕获任何像素数据....对于多次采样,我使用以下代码: -

glGenFramebuffersOES(1, &sampleFramebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, sampleFramebuffer);

//GLuint sampleColorRenderbuffer;
glGenRenderbuffersOES(1, &sampleColorRenderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, sampleColorRenderbuffer);
glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER_OES, 4, GL_RGBA8_OES, width, height);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, sampleColorRenderbuffer);

//glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER_OES, 4, GL_RGBA8_OES, width, height);
//glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, sampleColorRenderbuffer);

GLuint sampleDepthRenderbuffer;
glGenRenderbuffersOES(1, &sampleDepthRenderbuffer); …
Run Code Online (Sandbox Code Playgroud)

multisampling opengl-es framebuffer glreadpixels ios

4
推荐指数
1
解决办法
5659
查看次数

不在html5画布中显示图像(javascript)

我正试图在棋盘上展示棋子.问题是:如果我让"警报(img.src)"(从而创建了很多警报框......),件会在正确的位置显示,但如果我删除警报,它只显示一件在我画布的右上角.

你觉得怎么样?谢谢!

for (var i=1;i<9;i++){
    for (var j=1;j<9;j++){
        var img=new Image();
        img.onload=function(){
                ctx.drawImage(img,p+sqs*(i-1)+(sqs-32)/2,p+bds-sqs*j+(sqs-32)/2,32,32);
        };
        img.src="img/"+squares[i][j]+".png";
        //alert(img.src);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript html5 closures canvas

4
推荐指数
1
解决办法
1614
查看次数

如何获取webgl顶点的2d坐标?

在本教程中:http://learningwebgl.com/blog/?p = 28我们在3d空间中绘制一个三角形和一个正方形,我想在画布上获得顶点的x,y坐标.

所以我想得到这些顶点的2d坐标:http://s11.postimage.org/ig6irk9lf/static.png

抱歉我的英语不好,我希望你能理解.

javascript coordinates webgl html5-canvas

4
推荐指数
1
解决办法
2219
查看次数

如何将闭合贝塞尔曲线转换为位图?

我需要一种算法将闭合贝塞尔曲线(可能是自交叉)转换为二进制位图:0 表示内部像素,1 表示外部像素。我正在编写一个需要在贝塞尔曲线上实现一些操作的代码,有人能给我一些关于贝塞尔曲线的资源或教程吗?维基百科和其他人没有提到优化、减法、并集、结插入和删除等操作:-)

替代文本 http://www.imagechicken.com/uploads/1271001073057545100.jpg

algorithm math bezier

3
推荐指数
1
解决办法
1414
查看次数