问题列表 - 第7057页

OpenGL alpha 值使纹理更白?

我正在尝试加载具有 RGBA 值的纹理,但 alpha 值似乎只是使纹理更白,而不是调整透明度。我听说过 3D 场景有这个问题,但我只是使用 OpenGL 来处理 2D。我能解决这个问题吗?

我正在初始化 OpenGL

glViewport(0, 0, winWidth, winHeight);
glDisable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
glClearColor(0, 0, 0, 0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, winWidth, 0, winHeight); // set origin to bottom left corner
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3f(1, 1, 1);
Run Code Online (Sandbox Code Playgroud)

截屏: 那个褪色的点图像应该是半透明的。黑色部分应该是完全透明的。正如您所看到的,它后面有一个图像没有显示出来。

生成该纹理的代码相当冗长,因此我将描述我所做的事情。这是一个 40*30*4 的 unsigned char 类型的数组。每第 4 个字符设置为 128(应该是 50% 透明,对吧?)。

然后我将其传递到此函数中,将数据加载到纹理中:

void Texture::Load(unsigned char* data, GLenum format) {
    glEnable(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, _texID);
        glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, _w, _h, format, GL_UNSIGNED_BYTE, data);
    glDisable(GL_TEXTURE_2D);
}
Run Code Online (Sandbox Code Playgroud)

而且...我想我刚刚发现了问题。使用以下代码初始化全尺寸纹理:

glEnable(GL_TEXTURE_2D); …
Run Code Online (Sandbox Code Playgroud)

opengl textures

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

找到X窗口管理器的名称

如何从程序中找到正在运行的X窗口窗口管理器的名称?

如果我在一个窗口管理器已经运行时启动另一个窗口管理器,则会发生错误,因此必须有一种方法让另一个窗口管理器检测第一个窗口管理器.

它是如何工作的?

x11 window-managers

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

MS Sql:条件ORDER BY ASC/DESC问题

我想使我的查询中的排序有条件,所以如果它满足条件它应该通过降序排序

例如:

SELECT * FROM Data ORDER BY SortOrder CASE WHEN @Direction = 1 THEN DESC END
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-order-by

25
推荐指数
3
解决办法
3万
查看次数

在Joomla中添加特定于页面的javascript或CSS

你如何在Joomla的某篇文章中包含javascript或CSS文件?

我有一篇文章需要jQuery UI和相关主题.由于这不在任何其他页面上使用,我只想要它用于这篇特定的文章.在文章的HTML中添加必要的<script><link rel="stylesheet">标签不起作用,因为它们在保存时被剥离.

如果有一种方法可以包含某些文件,或者停止剥离这些标记,那就非常好.

javascript css joomla

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

从现有MS Access表自动生成SQL

我刚刚在MS Access中玩游戏,设计了一个大型数据库.现在我对设计感到满意,我需要能够从代码中生成相同的数据库(表,关系等).

我不想手写SQL CREATE语句(这将是漫长,乏味和容易出错的过程),而是想知道是否有快捷方式.我似乎记得,由于我对MySql的有限接触,我能够将整个数据库导出为SQL语句,然后可以运行该语句以重新生成该数据库.

您是否知道在MS Access中通过GUI或以编程方式执行此操作的方法?

sql schema ms-access

22
推荐指数
3
解决办法
7万
查看次数

用于多级指针解引用?

什么时候使用任何语言的指针要求有人使用多个指针,让我们说一个三指针.什么时候使用三指针而不是只使用常规指针是有意义的?

例如:

char  * * *ptr;
Run Code Online (Sandbox Code Playgroud)

代替

char *ptr;
Run Code Online (Sandbox Code Playgroud)

c++ pointers

42
推荐指数
4
解决办法
2万
查看次数

如何在JavaScript中添加新元素?

我创建了一个JavaScript脚本,可以粘贴在某人的页面上以创建iFrame.我希望该人能够将脚本粘贴到他们希望iFrame出现的位置.

但是,我无法弄清楚如何将DOM创建的iFrame附加到粘贴脚本的位置.它总是将它附加到身体的最底部.

我如何追加到位?

javascript dom

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

在JavaScript中睡眠 - 在动作之间延迟

有没有办法在JavaScript执行另一个操作之前在JavaScript中睡觉?

例:

 var a = 1+3;
 // Sleep 3 seconds before the next action here
 var b = a + 4;
Run Code Online (Sandbox Code Playgroud)

javascript sleep

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

SQL中的CHAR数据类型是否已过时?你什么时候使用它?

标题几乎构成了问题.我多年没有使用过CHAR.现在,我正在对一个包含CHAR的数据库进行逆向工程,包括主键,代码等.一个CHAR(30)列怎么样?

编辑:所以一般意见似乎是CHAR,如果对某些事情完全没问题.但是,我认为您可以设计一个不需要"这些特定事物"的数据库模式,因此不需要固定长度的字符串.使用bit,uniqueidentifier,varchar和text类型,似乎在一个良好规范化的模式中,当您使用编码的字符串值时,您将获得某种优雅.以固定长度思考,没有冒犯意味着,似乎是大型机时代的遗物(我曾经自己学过RPG II).我相信它已经过时了,我没有听到你声称不同的令人信服的论点.

sql types char

7
推荐指数
2
解决办法
2299
查看次数

Pandigital Regex?

什么是正则表达式验证字符串是否为pandigital(包含从1到9的所有数字一次)?

例如:

123456789
891364572
Run Code Online (Sandbox Code Playgroud)

但不是:

11234556789
25896471
Run Code Online (Sandbox Code Playgroud)

我知道如何在没有正则表达式的情况下执行此操作,但我无法为此形成正则表达式.

谢谢.

这不是功课.

regex

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