1. Προϊόντα
  2.   3D
  3.   PHP
  4.   PHP Render
 
  

Δωρεάν βιβλιοθήκη PHP για 3D Rendering σύνθετων σκηνών

Ανοιχτού κώδικα βιβλιοθήκη PHP 3D Rendering επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν & να χειρίζονται 3D γραφικά, ανάλυση αρχείων OBJ και εφαρμογή διαφόρων υφών & υλικών

Τι είναι το PHP Render;

Η ανάπτυξη ιστού έχει προοδεύσει σημαντικά, αλλάζοντας συνεχώς για να παράγει οπτικά εντυπωσιακές και εμβυθιστικές εμπειρίες. Η απόδοση 3D γραφικών παλαιότερα περιοριζόταν σε εξειδικευμένα συστήματα ή λογισμικό που απαιτούσαν βαθιά κατανόηση γλωσσών όπως η JavaScript ή η C++. Ωστόσο, χάρη στις εξελίξεις στην τεχνολογία του ιστού, η PHP —μια γλώσσα γνωστή για την ευκολία χρήσης και την προσαρμοστικότητά της— μπορεί πλέον να χρησιμοποιηθεί για την ενσωμάτωση 3D απόδοσης σε εφαρμογές ιστού. Οι προγραμματιστές μπορούν να δημιουργούν και να εργάζονται με 3D αντικείμενα απευθείας στην PHP με τη βοήθεια της ισχυρής βιβλιοθήκης 3D PHP Render. Οι προγραμματιστές μπορούν εύκολα να δημιουργούν και να εργάζονται με 3D οπτικά στοιχεία με τη βοήθεια της ισχυρής και προσαρμόσιμης βιβλιοθήκης 3D PHP Render. Μεταξύ των πολλών πλεονεκτημάτων της είναι η δυνατότητα δημιουργίας πολύπλοκων σκηνών και 3D μοντέλων, η δημιουργία κινούμενων σχεδίων, η διαχείριση φωτισμού και σκιών, καθώς και η εφαρμογή διαφόρων υφών και υλικών.

Η ευκολία χρήσης μιας βιβλιοθήκης 3D PHP render είναι ένα από τα πιο αξιοσημείωτα πλεονεκτήματά της. Χωρίς την ανάγκη εκμάθησης πολύπλοκων νέων γλωσσών ή πλαισίων, οι προγραμματιστές λογισμικού που είναι ήδη εξοικειωμένοι με την PHP μπορούν γρήγορα να κατανοήσουν τα βασικά της βιβλιοθήκης και να αρχίσουν να δημιουργούν 3D σκηνές. Τα υπάρχοντα πλαίσια και βιβλιοθήκες PHP ενσωματώνονται απλώς με τη βιβλιοθήκη 3D PHP render. Προσφέρει ένα απλό API και είναι εύκολο να ενσωματωθεί σε διαδικτυακές εφαρμογές που χρησιμοποιούν PHP. Γεφυρώνοντας το χάσμα μεταξύ PHP και 3D γραφικών, αυτή η βιβλιοθήκη επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν πλούσιες οπτικές εμπειρίες χρησιμοποιώντας την υπάρχουσα εξειδίκευση στην PHP. Οι προγραμματιστές μπορούν να χρησιμοποιήσουν τις δυνατότητες της βιβλιοθήκης για να προσθέσουν οπτικά ελκυστικά 3D στοιχεία στις διαδικτυακές τους εφαρμογές, δίνοντάς τους ζωή. Με την ευκολία χρήσης, την ευελιξία και την απόδοση της, αυτή η βιβλιοθήκη είναι έτοιμη να μεταμορφώσει τον τρόπο που βιώνουμε το διαδίκτυο, φέρνοντάς μας πιο κοντά σε ένα μέλλον όπου τα 3D γραφικά είναι ένα τυπικό χαρακτηριστικό των διαδικτυακών αλληλεπιδράσεων.

Previous Next

Ξεκινώντας με το PHP Render

Ο πιο εύκολος τρόπος για να εγκαταστήσετε τη σταθερή έκδοση του PHP Render είναι χρησιμοποιώντας το Composer. Παρακαλώ χρησιμοποιήστε την παρακάτω εντολή για μια ομαλή εγκατάσταση.

Εγκατάσταση PHP Render μέσω Composer

$composer install php-render 

Μπορείτε να κατεβάσετε τη μεταγλωττισμένη κοινόχρηστη βιβλιοθήκη από το αποθετήριο Github.

Εργασία με 3D μοντέλο μέσω PHP API

Η ανοιχτού κώδικα βιβλιοθήκη PHP Render επιτρέπει στους προγραμματιστές λογισμικού να διαχειρίζονται διάφορες εργασίες σχετικές με 3D μοντέλα μέσα σε εφαρμογές PHP. Η βιβλιοθήκη καθιστά εύκολη τη δημιουργία δυναμικού & διαδραστικού 3D περιεχομένου και μπορεί να ορίζει keyframes και μεταβάσεις για την κίνηση αντικειμένων, καμερών και φωτισμών. Οι προγραμματιστές λογισμικού μπορούν εύκολα να δημιουργούν και να επεξεργάζονται διάφορα γεωμετρικά σχήματα, συμπεριλαμβανομένων πολυγώνων, σφαιρών, κύβων και άλλων. Μπορούν να τροποποιούν κορυφές, να εφαρμόζουν μετασχηματισμούς και να συνδυάζουν σχήματα για τη δημιουργία σύνθετων μοντέλων. Το παρακάτω παράδειγμα δείχνει πώς οι προγραμματιστές λογισμικού μπορούν να φορτώσουν ένα μοντέλο από αρχείο OBJ χρησιμοποιώντας κώδικα PHP.

Πώς να φορτώσετε μοντέλο από αρχείο OBJ χρησιμοποιώντας το 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);

Απόδοση 3D σκηνών μέσω PHP API

Η ανοιχτού κώδικα βιβλιοθήκη PHP Render καθιστά εύκολο για τους προγραμματιστές λογισμικού να φορτώνουν και να αποδίδουν διάφορους τύπους 3Δ σκηνών μέσα στις PHP εφαρμογές τους. Παρέχει ένα απλοποιημένο API για την απόδοση 3Δ σκηνών, πλήρες με ελέγχους κάμερας, φωτισμό και χειρισμό αντικειμένων. Οι προγραμματιστές μπορούν να ορίζουν αντικείμενα, να τα τοποθετούν στη σκηνή και να καθορίζουν την εμφάνιση και τη συμπεριφορά τους. Επιπλέον, οι προγραμματιστές λογισμικού μπορούν να δημιουργούν και να χειρίζονται διάφορα γεωμετρικά σχήματα, συμπεριλαμβανομένων πολυγώνων, σφαιρών, κύβων και άλλων.

Καλύτερη οπτικοποίηση προϊόντος

Η δωρεάν βιβλιοθήκη 3D PHP Render δίνει τη δυνατότητα στους προγραμματιστές λογισμικού να προσθέτουν οπτικά εντυπωσιακά 3Δ στοιχεία στις διαδικτυακές τους εφαρμογές με ευκολία. Οι ιστοσελίδες ηλεκτρονικού εμπορίου μπορούν να χρησιμοποιήσουν τη βιβλιοθήκη 3D PHP Render για να προσφέρουν διαδραστικές προβολές προϊόντων, επιτρέποντας στους πελάτες να περιστρέφουν, να ζουμάρουν και να εξετάζουν τα προϊόντα από διαφορετικές γωνίες. Αυτή η εμβληματική εμπειρία ενισχύει την κατανόηση του προϊόντος και βελτιώνει την ικανοποίηση των πελατών. Το παρακάτω παράδειγμα δείχνει την παρεμβολή των βαρυκεντρικών συντεταγμένων μέσα σε ένα σχεδιασμένο τρίγωνο χρησιμοποιώντας το PHP API.

Πώς να εκτελέσετε παρεμβολή των βαρυκεντρικών συντεταγμένων μέσα σε ένα σχεδιασμένο τρίγωνο μέσω 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),
);
 Ελληνικά