小编eap*_*nte的帖子

cuda中虚拟方法的缺点

据我了解,虚拟方法调用是后期绑定,因此无法由编译器内联。显然,nvcc 严重依赖内联代码。我想知道如果在 Cuda 的内核中使用虚拟方法是否有任何严重的缺点。有哪些情况应该避免?它们会对性能产生影响吗?

c++ cuda virtual-functions nvcc

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

如何在opengl着色器中使用unsigned short?

我试图在着色器中上传带有unsigned short的纹理,但它不起作用.

我尝试过以下方法:

glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, vbt[1]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 640, 480, 0, GL_RED, GL_UNSIGNED_SHORT, kinect_depth);
glUniform1i(ptexture1, 1);
GLenum ErrorCheckValue = glGetError();
Run Code Online (Sandbox Code Playgroud)

我知道我正确地绑定了纹理,因为我通过使用获得了一些结果

glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, vbt[1]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 640, 480, 0,
    GL_RG, GL_UNSIGNED_BYTE, kinect_depth);
glUniform1i(ptexture1, 1);
GLenum ErrorCheckValue = glGetError();
Run Code Online (Sandbox Code Playgroud)

特别是,我在红色通道中获得了部分值.我想将纹理上传为无符号字节或浮点数.但是我没有设法正确地获得glTexImage2D调用.此外,是否可以使用深度纹理类似的东西?我想对从kinect获得的深度信息进行一些操作并显示它.

c opengl glsl glteximage2d

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

Matplotlib不会在图例中显示补丁的填充

我不确定这是一个错误还是做错了什么。我的目标是在图例中显示阴影,但是它不起作用。我使用的代码是

import matplotlib.patches as mpatches
...
def plot_legend(ax):
    ep = mpatches.Patch(color=[1.0, 0.5, 1.0, 1], hatch='/',
        label=r'$\pi_e\ free$')
    cp = mpatches.Patch(color=[1.0, 1.0, 1.0, 1], label='$\pi_e = exp(-60)$')
    #ax.legend(handles=[ep, cp], bbox_to_anchor=(1.05, 1), 
    #    loc=2, borderaxespad=0.)

    pyl.legend(handles=[ep, cp],
         loc=1)

    return
Run Code Online (Sandbox Code Playgroud)

结果如下:

图例中的怪异颜色表明它正在运行。

我使用的matplotlib版本在Mac计算机中为1.5.1。

python matplotlib legend

2
推荐指数
1
解决办法
748
查看次数

标签 统计

c ×1

c++ ×1

cuda ×1

glsl ×1

glteximage2d ×1

legend ×1

matplotlib ×1

nvcc ×1

opengl ×1

python ×1

virtual-functions ×1