1. Des produits
  2.   3D
  3.   PHP
  4.   PHP Render
 
  

Bibliothèque PHP gratuite pour le rendu 3D de scènes complexes

Bibliothèque open source PHP de rendu 3D permet aux développeurs de logiciels de générer et manipuler des graphiques 3D, d'analyser des fichiers OBJ et d'appliquer diverses textures et matériaux

Qu'est-ce que PHP Render ?

Le développement web a considérablement progressé, évoluant continuellement pour offrir des expériences visuellement époustouflantes et immersives. Le rendu de graphiques 3D était auparavant limité à des systèmes ou logiciels spécialisés nécessitant une compréhension approfondie de langages tels que JavaScript ou C++. Cependant, grâce aux avancées de la technologie web, PHP — un langage reconnu pour sa facilité d'utilisation et son adaptabilité — peut désormais être utilisé pour intégrer le rendu 3D dans les applications web. Les développeurs peuvent générer et manipuler des objets 3D directement en PHP grâce à la robuste bibliothèque 3D PHP Render. Les programmeurs peuvent facilement créer et travailler avec des visuels 3D à l'aide de la puissante et adaptable bibliothèque 3D PHP Render. Parmi ses nombreux avantages figurent la capacité de générer des scènes et modèles 3D complexes, de créer des animations, de gérer l'éclairage et les ombres, ainsi que d'appliquer diverses textures & matériaux.

La facilité d'utilisation d'une bibliothèque de rendu 3D PHP est l'un de ses avantages les plus remarquables. Sans avoir à apprendre de nouveaux langages ou frameworks compliqués, les développeurs logiciels déjà familiers avec PHP peuvent rapidement comprendre les fondamentaux de la bibliothèque et commencer à créer des décors 3D. Les frameworks et bibliothèques PHP existants s'intègrent simplement à la bibliothèque de rendu 3D PHP. Elle offre une API simple et est facile à intégrer dans les applications web utilisant PHP. En comblant le fossé entre PHP et les graphiques 3D, cette bibliothèque permet aux développeurs de créer des expériences visuelles riches en utilisant leur expertise PHP existante. Les développeurs peuvent utiliser les fonctionnalités de cette bibliothèque pour ajouter des éléments 3D visuellement attrayants à leurs applications en ligne, les faisant prendre vie. Grâce à sa facilité d'utilisation, sa flexibilité et ses performances, cette bibliothèque est prête à transformer notre façon d'expérimenter le web, nous rapprochant d'un avenir où les graphiques 3D sont une fonctionnalité standard des interactions en ligne.

Previous Next

Premiers pas avec PHP Render

La façon la plus simple d'installer la version stable de PHP Render est d'utiliser Composer. Veuillez utiliser la commande suivante pour une installation fluide.

Installer PHP Render via Composer

$composer install php-render 

Vous pouvez télécharger la bibliothèque partagée compilée depuis le dépôt Github.

Travailler avec le modèle 3D via l'API PHP

La bibliothèque open source PHP Render permet aux développeurs de logiciels de gérer diverses tâches liées aux modèles 3D au sein des applications PHP. La bibliothèque facilite la création de contenu 3D dynamique et interactif et peut définir des images clés et des transitions pour animer les objets, les caméras et les lumières. Les développeurs peuvent facilement générer et manipuler diverses formes géométriques, y compris les polygones, les sphères, les cubes et plus encore. Ils peuvent modifier les sommets, appliquer des transformations et combiner des formes pour créer des modèles complexes. L'exemple suivant montre comment les développeurs peuvent charger un modèle à partir d'un fichier OBJ en utilisant du code PHP.

Comment charger un modèle à partir d'un fichier OBJ en utilisant 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);

Rendu de scènes 3D via l'API PHP

La bibliothèque open source PHP Render facilite aux développeurs de logiciels le chargement et le rendu de différents types de scènes 3D au sein de leurs applications PHP. Elle fournit une API simplifiée pour le rendu de scènes 3D, incluant les contrôles de caméra, l’éclairage et la manipulation d’objets. Les développeurs peuvent définir des objets, les positionner dans la scène et spécifier leur apparence et leur comportement. De plus, les développeurs peuvent générer et manipuler diverses formes géométriques, y compris les polygones, les sphères, les cubes et bien plus encore.

Meilleure visualisation des produits

La bibliothèque gratuite 3D PHP Render permet aux développeurs de logiciels d’ajouter facilement des éléments 3D visuellement époustouflants à leurs applications web. Les sites e‑commerce peuvent exploiter la bibliothèque 3D PHP Render pour offrir des vues de produits interactives, permettant aux clients de faire pivoter, zoomer et examiner les produits sous différents angles. Cette expérience immersive améliore la compréhension du produit et augmente la satisfaction client. L’exemple suivant montre l’interpolation des coordonnées barycentriques à l’intérieur d’un triangle dessiné en utilisant l’API PHP.

Comment effectuer l'interpolation des coordonnées barycentriques à l'intérieur d'un triangle dessiné via 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),
);
 Français