
Current behaviour VS fixed behaviour:


Seems like using a positive roll value in OrientForRenderOverlay/Player fixes it.
If there's greater interest.m8f wrote:Will there be a git repository for libeye? One may want to submodule it.
There's room for improvements for sure, maybe you could group all of those calls into a single function that takes in the necessary arguments to pass to the various subfunctions?KeksDose wrote:I was a little afraid the ceremony with the cache resolution, fov, orient would be a bit out there
Code: Select all
proj.ProjectWorldPos((x, y, z));
let scale = 300.0 / proj.Distance();
// Draw stuff, but you gotta know how to scale it yourself.
Code: Select all
// ProjectActorPos (Actor, offset, fraction of tic)
// ProjectActorPosPortal (same thing, but is portal aware)
// Example:
override void RenderOverlay (RenderEvent event) {
proj.OrientForRenderOverlay(event);
proj.BeginProjection();
proj.ProjectActorPos(target, (0, 0, 0.5 * target.height), event.fractic);
let draw_pos = proj.ToScreen();
// etc.
}
// This projects the actor's interpolated position, so the appearance is smoothed
// when the actor moves. By default, offset is (0, 0, 0), t is 1.
Don't think too hard on it. The name implies going underneath the layer of huds.KeksDose wrote:strangely named RenderUnderlay