1. Prodotti
  2.   3D
  3.   PHP
  4.   PHP Render
 
  

Libreria PHP gratuita per il rendering 3D di scene complesse

La libreria open source PHP per il rendering 3D consente agli sviluppatori software di generare e manipolare grafica 3D, analizzare file OBJ e applicare varie texture e materiali

Che cos'è PHP Render?

Lo sviluppo web è avanzato significativamente, cambiando continuamente per produrre esperienze visivamente sorprendenti e immersive. Il rendering di grafica 3D era in passato limitato a sistemi specialistici o software che richiedevano una profonda conoscenza di linguaggi come JavaScript o C++. Tuttavia, grazie ai progressi nella tecnologia web, PHP—un linguaggio noto per la sua facilità d'uso e adattabilità—può ora essere utilizzato per includere il rendering 3D nelle applicazioni web. Gli sviluppatori possono generare e lavorare con oggetti 3D direttamente in PHP grazie alla robusta libreria 3D PHP Render. I programmatori possono facilmente creare e gestire visuali 3D con l'aiuto della potente e versatile libreria 3D PHP Render. Tra i suoi numerosi vantaggi vi sono la capacità di generare scene e modelli 3D complessi, creare animazioni, gestire illuminazione e ombre, e applicare varie texture & materiali.

La facilità d'uso di una libreria di rendering 3D per PHP è uno dei suoi benefici più notevoli. Senza dover apprendere linguaggi o framework nuovi e complicati, gli sviluppatori software già familiari con PHP possono rapidamente comprendere i fondamenti della libreria e iniziare a creare scenari 3D. I framework e le librerie PHP esistenti si integrano semplicemente con la libreria di rendering 3D per PHP. Offre un'API semplice ed è facile da integrare nelle applicazioni web che utilizzano PHP. Colmando il divario tra PHP e grafica 3D, questa libreria consente agli sviluppatori di creare esperienze visive ricche usando la loro esperienza preesistente in PHP. Gli sviluppatori possono utilizzare le funzionalità di questa libreria per aggiungere elementi 3D visivamente accattivanti alle loro app online, rendendole più vivide. Con la sua facilità d'uso, flessibilità e prestazioni, questa libreria è pronta a trasformare il modo in cui viviamo il web, avvicinandoci a un futuro in cui la grafica 3D sarà una caratteristica standard delle interazioni online.

Previous Next

Guida introduttiva a PHP Render

Il modo più semplice per installare la versione stabile di PHP Render è utilizzare Composer. Per favore usa il seguente comando per un'installazione fluida.

Installa PHP Render tramite Composer

$composer install php-render 

Puoi scaricare la libreria condivisa compilata dal repository Github.

Lavorare con il modello 3D tramite l'API PHP

La libreria open source PHP Render consente agli sviluppatori software di gestire varie attività relative ai modelli 3D all'interno delle applicazioni PHP. La libreria facilita la creazione di contenuti 3D dinamici e interattivi e può definire fotogrammi chiave e transizioni per animare oggetti, telecamere e luci. Gli sviluppatori software possono generare e manipolare facilmente varie forme geometriche, inclusi poligoni, sfere, cubi e altro. Possono modificare i vertici, applicare trasformazioni e combinare forme per creare modelli complessi. L'esempio seguente mostra come gli sviluppatori software possono caricare un modello da un file OBJ usando codice PHP.

Come caricare un modello da un file OBJ usando l'API PHP?

define('EXAMPLE_DIR', __DIR__);
require __DIR__ . '/../example_base.php';

use PHPR\Context;
use PHPR\Shader\Shader;
use PHPR\Mesh\{ObjParser, Vertex};
use PHPR\Mesh\Vertex\{VertexPNU};
use PHPR\Mesh\VertexArray;
use PHPR\Math\{Vec3, Vec4, Mat4, Angle};

/**
 * Simpel cube shader
 */
class CubeShader extends Shader
{
    public Mat4 $mvp;

    /**
     * Vertex shader like thing
     */
    public function vertex(Vertex $vertex, array &$out) : Vec4
    {
        $out['color'] = $vertex->normal;

        return $this->mvp->multiplyVec3($vertex->position);
    }

    /**
     * Fragment shader like thing
     */
    public function fragment(array &$in, array &$out)
    {
        $out['color'] = $in['color']->normalize()->toColorInt();
        // $out['color'] = 0xFFFFFF;
    }
}

/**
 * Build a model view projection
 */
$projection = Mat4::perspective(Angle::degreesToRadians(-45.0), EXAMPLE_RENDER_ASPECT_RATIO, 0.5, 10);

$view = (new Mat4())->inverse();

$model = (new Mat4)->translate(new Vec3(0.1, -0.3, -2.5));
$model->rotateX(0.4);
$model->rotateY(-0.6);
//$model->rotateY(-0.05);

/**
 * Create shader object
 */
$shader = new CubeShader;
$shader->mvp = $model->multiply($view->multiply($projection, true), true);

/**
 * Build the context
 */
$context = create_exmaple_context();
$context->bindShader($shader);
$context->enableDepthTesting();
// $context->setDrawMode(Context::DRAW_MODE_LINES);

/**
 * Define the model
 */
$model = ObjParser::loadFromDisk(EXAMPLE_DIR . '/suv.obj');

/**
 * draw the model
 */
$context->drawVertexArray($model);

render_example_context($context);
render_example_context_depth($context);

Rendering di scene 3D tramite l'API PHP

La libreria open source PHP Render semplifica per gli sviluppatori software il caricamento e il rendering di vari tipi di scene 3D all'interno delle loro applicazioni PHP. Fornisce un'API semplificata per il rendering di scene 3D, completa di controlli della fotocamera, illuminazione e manipolazione degli oggetti. Gli sviluppatori possono definire gli oggetti, posizionarli nella scena e specificarne l'aspetto e il comportamento. Inoltre, gli sviluppatori software possono generare e manipolare varie forme geometriche, inclusi poligoni, sfere, cubi e altro.

Migliore visualizzazione del prodotto

La libreria gratuita 3D PHP Render consente agli sviluppatori software di aggiungere elementi 3D visivamente sbalorditivi alle loro applicazioni web senza sforzo. I siti di e‑commerce possono utilizzare la libreria 3D PHP Render per offrire visualizzazioni interattive dei prodotti, permettendo ai clienti di ruotare, ingrandire e esaminare i prodotti da diverse angolazioni. Questa esperienza immersiva migliora la comprensione del prodotto e aumenta la soddisfazione del cliente. L'esempio seguente dimostra l'interpolazione delle coordinate baricentriche all'interno di un triangolo disegnato usando l'API PHP.

Come eseguire l'interpolazione delle coordinate baricentriche all'interno di un triangolo disegnato tramite PHP?

use PHPR\Shader\TriangleTestShader;
use PHPR\Mesh\Vertex;
use PHPR\Math\Vec3;

$context = create_exmaple_context();
$context->bindShader(new TriangleTestShader);
// $context->setDrawMode(\PHPR\Context::DRAW_MODE_LINES);

/**
 * Vertex subclass with color attribute
 */
class ExampleVertex extends Vertex
{
    public static function c(float $x, float $y, float $z, float $r, float $g, float $b)
    {
        $v = ExampleVertex::cP($x, $y, $z);
        $v->color = new Vec3($r, $g, $b);

        return $v;
    }

    public Vec3 $color;
}

/**
 * Draw the tirangle
 */
$context->drawTriangle(
    //               | position       | color
    ExampleVertex::c(-0.8, -0.8, 0.0, 1.0, 0.0, 0.0),
    ExampleVertex::c( 0.8, -0.8, 0.0, 0.0, 1.0, 0.0),
    ExampleVertex::c( 0.0,  0.8, 0.0, 0.0, 0.0, 1.0),
);
 Italiano