commit x64 compilation from lulu cause the other branch dont seems to compile properly at home

This commit is contained in:
2026-07-17 16:08:20 +02:00
parent c0f3eeb00d
commit 0efa4ee6f7
625 changed files with 117283 additions and 4426 deletions

View File

@ -0,0 +1,102 @@
/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#include "core/renderer.h"
#include "core/camera.h"
#include "core/raster_font.h"
#include "sort/sort.h"
#include "platform_config.h"
#include "log/log.h"
using namespace GS::Core;
using namespace GS::Render;
//------------------------------------------------------------------------------
uint Renderer::BuildRenderablePrimitiveList(const Camera &view, const Camera &lod_view, GS::Stack <Primitive *> &list, Renderable::Context context) const
{
uint tested_primitive = 0;
list.Clear();
ListForeachPtr(Renderable *, renderable, renderable_list)
tested_primitive += renderable->GetRenderablePrimitiveList(view, lod_view, list, context, true);
return tested_primitive;
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
Camera *Renderer::GetCamera() const
{ return view_item; }
void Renderer::SetCamera(Camera *item)
{
view_item = item;
view_registry = item ? &item->registry : NULL;
}
void Renderer::ApplyCamera()
{
if (view_item)
{
SetViewMatrix(view_item->GetMatrix(), &view_item->GetInverseMatrix());
Matrix4 pm;
view_item->ComputeProjectionMatrix(GetViewport(), pm);
SetProjectionMatrix(pm);
view_item->ComputeFrustum(view_item->frustum, GetViewport());
frustum = view_item->frustum;
}
}
void Renderer::SetViewRegistry(GS::Registry *registry)
{ view_registry = registry; }
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
GS::tVector2 <uint> Renderer::GetOutputDimensions() const
{
if (output_texture)
return tVector2 <uint> (output_texture->GetWidth(), output_texture->GetHeight());
return dimensions;
}
float Renderer::GetOutputAspectRatio() const
{
if (output_texture)
return float(output_texture->GetHeight()) / float(output_texture->GetWidth());
return output_aspect_ratio > 0 ? output_aspect_ratio : (float)dimensions.y / (float)dimensions.x;
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void Renderer::PushRenderable(Renderable *renderable)
{ renderable_list.Add(renderable); }
void Renderer::DeleteRenderableList()
{ renderable_list.Clear(); }
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
Renderer::Renderer()
{
output_aspect_ratio = 0;
global_aspect_ratio = AR_Square;
default_window = NULL;
output_window = NULL;
environment_interface = NULL;
view_item = NULL;
view_registry = NULL;
dimensions.Set(1, 1);
ipd = 0.0f;
registry.RegisterMessageListener(this);
}
Renderer::~Renderer()
{
registry.UnregisterMessageListener(this);
}
//------------------------------------------------------------------------------