小编Bah*_*bar的帖子

加载到纹理上时 png 图像模糊

我在 photoshop 中创建了一个 png 图像,其中包含我已加载到 OpenGL 程序中的透明胶片。我已将它绑定到纹理,在程序中图片看起来很模糊,我不知道为什么。

替代文字 http://img685.imageshack.us/img685/9130/upload2.png

替代文字 http://img695.imageshack.us/img695/2424/upload1e.png

加载代码

// Texture loading object
nv::Image title;

// Return true on success
if(title.loadImageFromFile("test.png"))
{
    glGenTextures(1, &titleTex);
    glBindTexture(GL_TEXTURE_2D, titleTex);
    glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
    glTexImage2D(GL_TEXTURE_2D, 0, title.getInternalFormat(), title.getWidth(), title.getHeight(), 0, title.getFormat(), title.getType(), title.getLevel(0));
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 16.0f);
}

else
    MessageBox(NULL, "Failed to load texture", "End of the world", MB_OK | MB_ICONINFORMATION);
Run Code Online (Sandbox Code Playgroud)

显示代码

glEnable(GL_TEXTURE_2D);    
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindTexture(GL_TEXTURE_2D, titleTex);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); …
Run Code Online (Sandbox Code Playgroud)

opengl png textures image-loading

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

帮我评估这个演员

我在PowerVR网格绘图代码中发现了这一点,我真的不知道如何阅读它.

&((unsigned short*)0)[3 * mesh.sBoneBatches.pnBatchOffset[batchNum]]
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?这是对无效转换的引用作为无符号短指针然后偏移(3*mesh(etc ...)+ batchNum)?它打破了我的大脑.

它是在glDrawElements调用的上下文中找到的:

glDrawElements(GL_TRIANGLES, i32Tris * 3, GL_UNSIGNED_SHORT, 
               &((unsigned short*)0)[3 * mesh.sBoneBatches.pnBatchOffset[batchNum]]);
Run Code Online (Sandbox Code Playgroud)

c++ opengl

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

这段代码是否遵循递归的定义?

我有一段代码,我怀疑它作为定义的递归实现.我的理解是代码必须调用自身,完全相同的功能.我还质疑是否以这种方式编写代码会增加额外的开销,这可以通过使用递归来看到.你的想法是什么?

class dhObject
{
public:
   dhObject** children;
   int numChildren;
   GLdouble linkLength; //ai 
   GLdouble theta; //angle of rot about the z axis
   GLdouble twist; //about the x axis
   GLdouble displacement; // displacement from the end point of prev along z
   GLdouble thetaMax;
   GLdouble thetaMin;
   GLdouble thetaInc;
   GLdouble direction;

   dhObject(ifstream &fin)
   {
      fin >> numChildren >> linkLength >> theta >> twist >> displacement >> thetaMax >> thetaMin;
      //std::cout << numChildren << std::endl;
      direction = 1;
      thetaInc = 1.0;
      if (numChildren > 0) …
Run Code Online (Sandbox Code Playgroud)

c++ recursion

3
推荐指数
2
解决办法
244
查看次数

无法加载 .NET 程序集

我遇到以下情况:我有一个 Windows 服务,它使用 Microsoft AddIn Framework 将许多外部 .dll 作为 AddIn 加载。每个 AddIn .dll 都位于“AddIns”目录内各自的目录中,该目录位于包含服务 exe 的目录中。每个 AddIn .dll 都引用一个公共程序集,该程序集基本上是 AddIn 的 API。我把它放在服务目录中。我遇到的问题是 API .dll 也必须位于每个 AddIn 目录中,否则我会收到错误:

调用目标已引发异常。- System.IO.FileNotFoundException:无法加载文件或程序集“OSAE.API,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。

我还尝试将此程序集添加到 GAC 中,该程序集似乎将其放在C:\Windows\Microsoft.NET\assembly\GAC_MSIL\OSAE.API\v4.0_1.0.0.0__f47a6446f36f79f7,但这似乎没有帮助。

我怎样才能告诉插件在特定目录中查找程序集或将其设置在可以全局访问的位置?

.net c#

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

标签 统计

c++ ×2

opengl ×2

.net ×1

c# ×1

image-loading ×1

png ×1

recursion ×1

textures ×1