小编Shi*_*ing的帖子

从C++更新Texture2D像素

在该项目中,我通过 DllImports 使用 Unity3D 的 C# 脚本和 C++。我的目标是游戏场景有 2 个立方体(Cube & Cube2),其中一个立方体纹理显示通过我的笔记本电脑摄像头和 Unity 的实时视频webCamTexture.Play(),另一个立方体纹理显示外部 C++ 函数处理的视频ProcessImage()

代码上下文:

在c++中,我定义了

struct Color32
{
    unsigned char r;
    unsigned char g;
    unsigned char b;
    unsigned char a;
};
Run Code Online (Sandbox Code Playgroud)

函数是

extern "C"
{
    Color32* ProcessImage(Color32* raw, int width, int height);
}
...

Color32* ProcessImage(Color32* raw, int width, int height)
{
    for(int i=0; i<width*height ;i++)
    {
       raw[i].r = raw[i].r-2;
       raw[i].g = raw[i].g-2;
       raw[i].b = raw[i].b-2;
       raw[i].a = raw[i].a-2;
    }
    return …
Run Code Online (Sandbox Code Playgroud)

c# c++ pinvoke unity-game-engine

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

标签 统计

c# ×1

c++ ×1

pinvoke ×1

unity-game-engine ×1