I know some users already use the script with a tablet without the plugin, I’m not sure how they are using it though…
Sure you can use your tablet without my plugin inside Blender - it works just like with an ordinary mouse then.
But if you do so you won’t have access to the extended functionality of the tablet and it’s input devices like pens. For example pens usually have a pressure sensitive tip and can report their orientation relative to the tablet’s surface.
With my plugin you get access to these extended features. The pressure value could be used to set the “selection size” in sculpt_mesh. The higher the pressure the bigger the selection size - very much like in real painting. The orientation might be used to set the displacement direction…
Possibilities are (almost) endless
what are the features for this script ?
Well, not too many - the testscript is just for displaying some numbers.
The dll is (more or less) just a test to see whether the communication between the tablet’s driver and my dll works correctly.
So far we have the following functions:
Connect(): establish connection between dll and tablet driver
return: int (sucess/failure)
Disconnect(): close connection
return: int (success/failure)
GetNormalPressure(): pressure value perpendicular to tablet surface
GetTangentPressure(): pressure value in tablet surface plane or wheel status of airbrush (Wacom Intuos)
GetCoords(): absolute coordinates of input device relative to tablet
return: [int x, int y, int z]
GetButtons(): button status as 'or’ed bitfield
GetCursor(): active tip of the input device (some pens have a pressure sensitive eraser - you can just turn your pen upside down…)
GetOrientation(): orientation of the input device relative to the tablet surface
return: [int azimuth, int altitude, int twist]
GetRotation(): rotation of the input device relative to the tablet surface
return: [int pitch, int roll, int yaw]
GetStatus(): status of the input device as 'or’ed bitfield
return: int (16 means device is upside down)
GetVersion(): version info of dll
That’s it - your tablet and input device might not support all of these functions. If so 0 is returned in most cases. All values returned are raw data queried from the tablet driver - their range depends on the type and size of the tablet you have. I’m currently transforming these values to a standardized range so no matter how big your tablet is and what resolution it has you’ll always get the same return value from these functions. Say lower left corner has coordinates [0,0 (,0)] and upper right becomes [1,1 (,1)].
Oooh - long post