public void OnNewFrame(Astra.MaskedColorFrame frame) { if (frame.Width == 0 || frame.Height == 0) { return; } if (_lastFrameIndex == frame.FrameIndex) { return; } /* System.IntPtr f = new IntPtr(); * f*/ _lastFrameIndex = frame.FrameIndex; EnsureTexture(frame.Width, frame.Height); // _texture.LoadRawTextureData(frame.DataPtr, (int)frame.ByteLength); //----------------------------------- Color[] colors_test = new Color[3]; colors_test[0] = Color.red; colors_test[1] = Color.green; colors_test[2] = Color.blue; int mipCount = Mathf.Min(3, _texture.mipmapCount); for (int mip = 0; mip < mipCount; ++mip) { Color[] cols = _texture.GetPixels(mip); for (int i = 0; i < cols.Length; ++i) { cols[i].r = 100; cols[i].a = 0; } _texture.SetPixels(cols, mip); } //----------------------------------- //var* testnaVarijabla = frame*.DataPtr; byte[] data = new byte[1228000]; frame.CopyData(ref data); Converter <IntPtr, Astra.MaskedColorFrame> strConverter; //string mangedObject = strConverter.ToString(); //Debug.Log("frame.DataPtr" + frame.DataPtr + "frame.ByteLenght" + (int)frame.ByteLength + " Hash code: " + frame.DataPtr.ToString() + data.GetValue(0)); _texture.Apply(); }
public void OnNewFrame(Astra.MaskedColorFrame frame) { if (frame.Width == 0 || frame.Height == 0) { return; } if (_lastFrameIndex == frame.FrameIndex) { return; } _lastFrameIndex = frame.FrameIndex; EnsureTexture(frame.Width, frame.Height); _texture.LoadRawTextureData(frame.DataPtr, (int)frame.ByteLength); _texture.Apply(); }