我试图理解这两个,如何使用它们以及它们是如何相关的.假设我想创建一个简单的地形和一个纹理立方体.对于这两个对象,我有三角形顶点的数组,对于立方体,我有一个包含纹理数据的数组.我的问题是:如何使用VAO和VBO来创建和渲染这两个?
有许多教程和书籍,但我仍然不知道如何理解和使用这些概念.
考虑具有多个可选参数的函数.例如:
Function foo(Optional a, Optional b, Optional c, Optional d)
Run Code Online (Sandbox Code Playgroud)
如果我只想调用特定的函数,参数不是null,或者是其他一些测试,(因为该函数会引发错误,否则,除非参数丢失).
一个例子是Collection类.Add方法有3个可选参数.许多自定义类包装了这个类 - 比如创建一个可归档的类Persons of'Person'自定义类或类似的东西.包装器必须处理6种组合:仅添加密钥,添加密钥并指定之前,添加密钥并指定After,不添加密钥并指定Before,不添加密钥并指定After,no Key和no Before /后.如果将包装器写入具有十几个可选参数的Workbook.Save之类的东西会更糟.
我不知道一些繁琐的构造的替代方案,如:
If a <> Null Then
If b <> Null Then
If c <> Null Then
If d <> Null Then
foo a, b, c, d
Else
foo a, b, c
End If
Else
If d <> Null Then
foo a, b, d
Else
foo a, b
End If
End If
Else
'... Etc ...
Run Code Online (Sandbox Code Playgroud)
显然,嵌套的Ifs和一般代码开销的数量大约是每个额外可选变量的两倍.
在.NET中,可以传入类型System.Type.Missing,允许表达式更加简单.
就像在C#中一样,它可以像以下一样干净:
foo(a ?? …
Run Code Online (Sandbox Code Playgroud)