Drawing 3d lines and 3d points

I want to display a grid and the 3 xyz axis for debuging purposes. Is it possible to draw 3d lines and 3d points with materials applied to it similar to what we can do with OpenGL?

Sure. Try using the LineSegs class to draw lines. See the API documentation on this. When you call LineSegs.create(), it gives you a node which you can attach to the scene graph to render your lines; this node can have any rendering property you like to assign to it.

It won’t have texture coordinates or normals, however; if you need to have these properties for whatever materials you have in mind, you will probably need to use the lower-level GeomVertexWriter to make your line geometry. See the Panda3D manual on creating your own geometry from scratch.

You might also consider the Rope class defined in Rope.py, and its C++ implemention, RopeNode. This can be used to draw curves and splines (and it can be configured to generate texture coordinates and normals).