在该项目中,我通过 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)