If you think WL is slow, you don’t know how to cook with it. Or you’ve never used it with WLJS sauce 🍝
This basic demo runs in the notebook with no external software was used.
The raw image data is piped using the Device API to a Graphics3D point primitive with some minor transformations.
The raw image data is piped using the Device API to a Graphics3D point primitive with some minor transformations.
The whole code is under 50 lines:
In[]:=
cam=DeviceOpen["Camera"];cam["FrameRate"]=60;
Dynamic@Refresh[Module[{img,length},img=ImageData[ImageResize[ColorConvert[DeviceRead[cam],"GrayScale"],100],"Real32"];length=Length[img]Length[img[[1]]];vertices=MapIndexed[Join[#2,{50.0#1}]&,img,{2}];vertices=Flatten[vertices,1];Graphics3D[GraphicsComplex[vertices,{Red,PointSize[0.0005],Point[Range[length]]}],ViewProjection->"Perspective",ImageSize->700]],UpdateInterval->1/45.0]
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Smooth real-time 60 FPS webcam streaming using under 50 lines of Wolfram code
by Kirill Vasin
Wolfram Community, STAFF PICKS, July 7, 2026
https://community.wolfram.com/groups/-/m/t/3748245
by Kirill Vasin
Wolfram Community, STAFF PICKS, July 7, 2026
https://community.wolfram.com/groups/-/m/t/3748245