I’d like to get debug info from Panda3d on how exactly it’s doing the 3d render, for simple shapes e.g. cubes.
Just the basics of (3d vertices a,b,c became 2d vertices p,q,r).
E.g. some real-time logging that shows the 3d vertices a,b,c and then the 2d vertices p,q,r that they were transformed into.
Is that possible please?

I have written a simple render pipeline, and get basic results similar to panda3d, but my 2d primitives are approx 2.3 times smaller than panda3d’s; I’d just like to understand why.

I don’t want to rebuild panda3d’s engine, just provide some basic, minimal direct-3d-to-2d functionality as a development aid.

P.S. I have seen this logging option for “glgsg spam”, Log Messages — Panda3D Manual, but it does not give me quite the info I’d like: it shows matrices GL_PROJECTION, GL_MODELVIEW, but not the 3d-vertices before transform, or the 2d-vertices after transform.

I thought about that, but I wouldn’t be surprised if even TinyDisplay uses 3D coordinates all the way through. (Or, indeed, 4D, as screen-space coordinates not-uncommonly have a w-component.)

@serega-kkz thanks for info re tinydisplay; I got it working with pd-tinydisplay, but the log looks similar to glgsg-spam, ie the log shows matrices, but not vertices-3d and vertices-2d.

@Thaumaturge I am transforming from 3d to 2d in my own code; I’ve written a very basic pipeline just to convert vertices3 to vertices2, partly to check my own understanding, and partly for some possible 2d effects; I draw into PnmImage or numpy-array hence write into Texture then use OnscreenImage. To compare to panda3d, I just use screenshots.

In that case, I doubt that what Panda is doing is directly comparable. As mentioned above, I really doubt that it stores 2D points anywhere–even when using TinyDisplay.

I have figured this out, just by comparing panda3d-screen to my-render-screen (that one is from Texture, setRamImage with numpy-array). (I just needed to adjust the focal-length and adjust height by aspect ratio). Thanks all for the info.
This ticket can be closed.