Convert a single function from C to OpenCL (hyperboloid)
This task requires porting code from C to OpenCL, creating a .cl file, to allow BRL-CAD to ray-trace render the "Hyperboloid" primitive (HYP).
Some knowledge of C and OpenCL is helpful but not necessarily required in order to complete this task. Don't be afraid to ask for help! Many issues can be figured out by reading through the various wiki pages at brlcad.org. Also web searches can be of help in finding solutions to build issues that you may run into, irc channel #brlcad on freenode can also be of help. Be sure to follow the correct format (indentation, etc) for creating your .cl file, including the commented entries at the end of the file.
You can follow the existing "Elliptical Hyperboloid" (EHY) primitive port as an example:
https://svn.code.sf.net/p/brlcad/code/brlcad/trunk/src/librt/primitives/ehy/ehy_shot.cl
(desired code)
https://svn.code.sf.net/p/brlcad/code/brlcad/trunk/src/librt/primitives/ehy/ehy.c
(original code; see struct ehy_specific, rt_ehy_shot, rt_ehy_norm C functions)
Your starting point will be the "Hyperboloid" (HYP) primitive C code:
https://svn.code.sf.net/p/brlcad/code/brlcad/trunk/src/librt/primitives/hyp/hyp.c
(original code; see struct hyp_specific, rt_hyp_shot, rt_hyp_norm C functions)
SUBMIT a hyp_shot.cl file with the ported primitive code in the correct format.