最上面的代码不在边缘时怎么创建
时间: 2024-03-27 09:36:05 浏览: 48
在上面的代码中,当当前顶点不在平面的边缘时,会通过AddTriangle方法构建两个三角形索引,并将它们添加到VertexHelper中。具体来说,这里的代码:
```c#
if (x < wh - 1 && z < wh - 1)
{
vh.AddTriangle(x * wh + z, x * wh + z + 1, (x + 1) * wh + z + 1);
vh.AddTriangle(x * wh + z, (x + 1) * wh + z + 1, (x + 1) * wh + z);
}
```
其中,x和z分别是当前顶点在平面上的横向和纵向索引,wh是平面的宽度和高度。
如果需要创建一个不带边缘的平面Mesh,可以将上面的代码中的条件判断语句去掉,即直接将两个三角形索引添加到VertexHelper中。具体来说,可以将上面的代码改为:
```c#
vh.AddTriangle(x * wh + z, x * wh + z + 1, (x + 1) * wh + z + 1);
vh.AddTriangle(x * wh + z, (x + 1) * wh + z + 1, (x + 1) * wh + z);
```
这样就可以创建不带边缘的平面Mesh了。
相关问题
最上面那段代码可以转换成Oracle function函数吗
不可以直接将最上面的代码转换成Oracle函数,因为它使用了C++标准库中的函数和数据类型,而Oracle PL/SQL语言与C++的语法和标准库是不兼容的。
如果需要在Oracle数据库中实现类似的哈希算法,可以考虑使用PL/SQL语言编写相应的函数。具体实现方式可能会有所不同,但可以参考C++程序中的逻辑和算法,自行实现哈希函数。
另外,Oracle数据库中也提供了一些内置的哈希函数,例如DBMS_CRYPTO.HASH或DBMS_SQLHASH.GET_HASH_VALUE等,可以根据具体的需求选择使用。
最上面的代码CefMainArgs main_args(argc, argv); argc 编译报错
`CefMainArgs`类需要两个参数,分别是`HINSTANCE`和`HINSTANCE`类型。如果你的项目是一个控制台应用程序,你需要使用`GetModuleHandle(NULL)`来获取第一个参数。如果是一个窗口应用程序,你需要使用窗口句柄对应的实例句柄。另外,需要确保你已经添加了依赖库`libcef.lib`。
以下是一个控制台应用程序的例子:
```c++
#include <windows.h>
#include <include/cef_app.h>
int main(int argc, char* argv[]) {
CefMainArgs main_args(GetModuleHandle(NULL));
CefRefPtr<CefApp> app = new MyCefApp();
return CefExecuteProcess(main_args, app, nullptr);
}
```
其中`MyCefApp`是你自己实现的继承自`CefApp`的类,用于处理CEF框架的各种事件。
阅读全文