小编Kar*_*los的帖子

帧缓冲区和交换链到底是什么?

所以我对帧缓冲区的概念有点困惑。我做过研究,但总是找到不同的定义,通常是这两个:

  • 帧缓冲区是多个不同图像的数组。但这个定义,或者至少对我来说,听起来更像是交换链:一系列帧缓冲区

  • 帧缓冲区是形成单个图像的像素数组,有点像位图(但从我读到的内容来看,它可以包含比颜色更多的信息,例如深度值和其他内容),并且当该位图被填充时通过管道,它会排队等待呈现。这对我来说更有意义,因为交换链也有意义:一组帧缓冲区,因此可以有一个帧缓冲区用作渲染目标,另一个用于呈现(在双缓冲的情况下),并且交换链以正确的时间处理交换它们,以提高帧率稳定性

以下哪一个是正确的?因为我厌倦了每次查找一点信息时都会听到不同的东西。

请记住,我正在学习 Vulkan,根本没有图形经验(我知道不推荐),所以我现在对概念比代码更感兴趣

3d graphics vulkan

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

我希望类模板只有在传递给模板的类型是 int 时才具有排序方法

首先,我知道这个问题已经回答了,但我真的不明白该怎么做

我正在创建我自己的向量类(用于学习目的),并且我希望它有一个排序方法,只有当传递给模板的类型为 int 时,我才对其进行编码。

template<typename T>
class vector
{
    T* _arr = new T[5]{ 0 };
    size_t _size = 0;
    
public:
    template<>
    void sort<int>()
    {
        // whatever
    }
};
Run Code Online (Sandbox Code Playgroud)

它看起来像那样吗?顺便说一句,我希望在类中定义该方法。你会怎么做?

c++

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

不同的检查方式

在这里快速提问...

两者有什么区别...

if ((flags & bit1) == bit1) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

和...

if (flags & bit1) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

就这样。很确定以前已经回答过这个问题,但我一直找不到。

c c++ bit-manipulation

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

堆栈分配的数组是否会自动零初始化?

如果我做这样的事情:

int myArray[5];
Run Code Online (Sandbox Code Playgroud)

该数组是否自动零初始化?如果不是,我如何声明一个堆栈分配、零初始化的数组?

我知道对于堆分配的数组,我可以这样做:

int* myArray = new int[5]();
Run Code Online (Sandbox Code Playgroud)

不管怎么说,还是要谢谢你 :)

c++

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

标签 统计

c++ ×3

3d ×1

bit-manipulation ×1

c ×1

graphics ×1

vulkan ×1