小编iga*_*l k的帖子

为 OpenGL 实现细节层次算法

我正在尝试实现以下算法(分解为小三角形),但我在网上找不到任何可以正确解释它的教程,我发现的大多数内容都从理论上解释了它,并且示例也太棒了理解起来很复杂,因为它们包含许多其他东西。

如果您能指出我是如何完成的或类似的事情,我将非常感激。

opengl graphical-programming level-of-detail

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

是否有可能在没有机器上的microsoft office的情况下运行win32com脚本

我正在尝试运行一个使用其中的一些win32com功能的python程序 - 它包含一些办公模块的工作.

我的问题是:是否可以在没有Microsoft Office安装它们的机器上运行它.可能吗?

如果没有,可以选择在win32com没有安装的情况下使用办公模块Microsoft office(特别是word).

python winapi pywin32 win32com python-3.x

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

thrust :: min_element不适用于float4 device_vector,而它适用于host_vector

我试图使用Thrust和CUDA找到数组中的最小数字.
以下设备示例返回0:

thrust::device_vector<float4>::iterator it =  thrust::min_element(IntsOnDev.begin(),IntsOnDev.end(),equalOperator());       
int pos = it - IntsOnDev.begin();
Run Code Online (Sandbox Code Playgroud)

但是,这个主机版本完美运行:

thrust::host_vector<float4>arr = IntsOnDev;
thrust::host_vector<float4>::iterator it2 =  thrust::min_element(arr.begin(),arr.end(),equalOperator());
int pos2 = it2 - arr.begin();
Run Code Online (Sandbox Code Playgroud)

comperator类型:

struct equalOperator
{
  __host__ __device__
    bool operator()(const float4 x,const float4 y) const
    {
        return ( x.w < y.w );
    }
};
Run Code Online (Sandbox Code Playgroud)

我只是想补充一下,push :: sort与同一个谓词一起使用.

cuda thrust

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

提取共享内存的大小

我试图了解我应该如何提取MapViewOfFile的返回缓冲区大小。我使用以下命令分配共享内存

hFileMapping = CreateFileMapping(INVALID_HANDLE_VALUE, nullptr, PAGE_READWRITE, 0, dwDataSize, strSharedMemoryName.c_str());
Run Code Online (Sandbox Code Playgroud)

使用以下代码片段将其填充:

pBuffer = DynamicAPI::MapViewOfFile(hFileMapping, FILE_MAP_WRITE, 0, 0, dwDataSize);
if (nullptr == pBuffer || GetLastError() != 0)
{
    LOG_ERROR(L"Failed to MapViewOfFile: " << GetLastError());
    break;
}
// Copy buffer to the shared memory
::CopyMemory(pBuffer, pData, dwDataSize);
Run Code Online (Sandbox Code Playgroud)

然后,在其他地方,尝试重新打开该共享内存并读取整个缓冲区:

HANDLE hSharedMemory = OpenFileMapping(FILE_MAP_READ, FALSE, m_strSharedName.c_str());
    if (nullptr == hSharedMemory)
    {
        return false;
    }

    LPVOID pData = nullptr;
    if (nullptr == (pData = MapViewOfFile(hSharedMemory, FILE_MAP_READ, 0, 0, 0)))
    {
        LOG_ERROR(L"Failed to MapViewOfFile");
        return false;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ windows pointers shared-memory

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

是否可以在不声明表面法线的情况下使用OpenGL照明?

是否可以在不声明曲面法线的情况下声明对象上的光照?

我愿意做的步骤是:

1. enable lighting
2. define surface material 
3. define lighting position
4. define lighting parms : ambient....
Run Code Online (Sandbox Code Playgroud)

这还不够,还是我必须放在哪里呢?

opengl glut opengl-es-lighting

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

从内存中获取文件句柄

我试图将一个相对较大的文件加载到内存中,并能够通过a访问它HANDLE,就像检索一样CreateFile().

工作流程:

  1. 加载文件

  2. 在内存中加载时更改多个属性

  3. 将修改后的文件用于其他有效目的 HANDLE

我无法再次将文件保存到硬盘.

在MSDN上有一个例子,我可以在其中创建一个共享内存:遗憾的是,创建命名共享内存我不太确定这与我的赋值有多相关,因为函数检索的句柄是FileMapping句柄,缓冲区本身是一个LPCTSTR指针.

c++ memory winapi memory-management shared-memory

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