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

Bibliotecă PHP gratuită pentru redarea scenelor 3D complexe

Bibliotecă open source PHP pentru redarea 3D permite dezvoltatorilor de software să genereze și să manipuleze grafice 3D, să parseze fișiere OBJ și să aplice diverse texturi și materiale

Ce este PHP Render?

Dezvoltarea web a avansat semnificativ, schimbându-se continuu pentru a produce experiențe vizuale uimitoare și imersive. Redarea graficelor 3D era anterior restricționată la sisteme sau software specializate care necesitau o înțelegere profundă a limbajelor precum JavaScript sau C++. Cu toate acestea, datorită evoluțiilor în tehnologia web, PHP — un limbaj renumit pentru ușurința de utilizare și adaptabilitatea sa — poate fi acum folosit pentru a include redarea 3D în aplicațiile web. Dezvoltatorii pot genera și lucra cu obiecte 3D direct în PHP cu ajutorul bibliotecii robuste 3D PHP Render. Programatorii pot crea și manipula cu ușurință vizuale 3D cu ajutorul bibliotecii puternice și adaptabile 3D PHP Render. Printre numeroasele sale avantaje se numără capacitatea de a genera scene și modele 3D complexe, de a crea animații, de a gestiona iluminarea și umbrele, și de a aplica diverse texturi & materiale.

Ușurința în utilizare a unei biblioteci de redare 3D PHP este unul dintre cele mai notabile beneficii ale sale. Fără a fi nevoie să învețe limbaje noi complicate sau cadre de lucru, dezvoltatorii de software care sunt deja familiarizați cu PHP pot înțelege rapid fundamentele bibliotecii și pot începe să creeze scenarii 3D. Cadrele și bibliotecile PHP existente se integrează simplu cu biblioteca de redare 3D PHP. Aceasta oferă un API simplu și este ușor de integrat în aplicațiile web care utilizează PHP. Prin punerea punții între PHP și grafica 3D, această bibliotecă permite dezvoltatorilor să creeze experiențe vizuale bogate folosind expertiza lor existentă în PHP. Dezvoltatorii pot folosi funcționalitățile acestei biblioteci pentru a adăuga elemente 3D atrăgătoare vizual în aplicațiile lor online, dându-le viață. Cu ușurința sa de utilizare, flexibilitatea și performanța, această bibliotecă este pregătită să transforme modul în care experimentăm web-ul, aducându-ne mai aproape de un viitor în care grafica 3D este o caracteristică standard a interacțiunilor online.

Previous Next

Începerea utilizării PHP Render

Cea mai simplă modalitate de a instala versiunea stabilă a PHP Render este prin utilizarea Composerului. Vă rugăm să folosiți comanda următoare pentru o instalare fără probleme.

Instalează PHP Render prin Composer

$composer install php-render 

Puteți descărca biblioteca partajată compilată de pe depozitul Github.

Lucrează cu model 3D prin API PHP

Biblioteca open source PHP Render permite dezvoltatorilor de software să gestioneze diverse sarcini legate de modele 3D în aplicațiile PHP. Biblioteca facilitează crearea de conținut 3D dinamic și interactiv și poate defini cadre cheie și tranziții pentru a anima obiecte, camere și lumini. Dezvoltatorii de software pot genera și manipula cu ușurință diverse forme geometrice, inclusiv poligoane, sfere, cuburi și altele. Aceștia pot modifica vârfurile, aplica transformări și combina forme pentru a crea modele complexe. Exemplul de mai jos arată cum dezvoltatorii de software pot încărca un model dintr-un fișier OBJ utilizând cod PHP.

Cum să încarci un model dintr-un fișier OBJ utilizând API-ul 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);

Redarea scenelor 3D prin API PHP

Biblioteca open source PHP Render facilitează dezvoltatorilor de software încărcarea și redarea diferitelor tipuri de scene 3D în aplicațiile lor PHP. Aceasta oferă un API simplificat pentru redarea scenelor 3D, complet cu controale de cameră, iluminare și manipularea obiectelor. Dezvoltatorii pot defini obiecte, le pot poziționa în scenă și pot specifica aspectul și comportamentul lor. În plus, dezvoltatorii de software pot genera și manipula diverse forme geometrice, inclusiv poligoane, sfere, cuburi și altele.

Vizualizare îmbunătățită a produsului

Biblioteca gratuită 3D PHP Render permite dezvoltatorilor de software să adauge elemente 3D vizual impresionante în aplicațiile lor web fără efort. Site-urile de comerț electronic pot utiliza biblioteca 3D PHP Render pentru a oferi vizualizări interactive ale produselor, permițând clienților să rotească, să mărească și să examineze produsele din diferite unghiuri. Această experiență imersivă îmbunătățește înțelegerea produsului și crește satisfacția clienților. Exemplul de mai jos demonstrează interpolarea coordonatelor baricentrice în interiorul unui triunghi desenat utilizând API-ul PHP.

Cum să efectuezi interpolarea coordonatelor baricentrice în interiorul unui triunghi desenat prin 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),
);
 Română