1. Termékek
  2.   3D
  3.   PHP
  4.   PHP Render
 
  

Ingyenes PHP könyvtár összetett 3D jelenetek rendereléséhez

Nyílt forráskódú PHP 3D renderelő könyvtár, amely lehetővé teszi a szoftverfejlesztők számára 3D grafikák létrehozását és manipulálását, OBJ fájlok feldolgozását, valamint különféle textúrák és anyagok alkalmazását

Mi az a PHP Render?

A webfejlesztés jelentősen fejlődött, folyamatosan változva, hogy vizuálisan lenyűgöző és magával ragadó élményeket nyújtson. A 3D grafika renderelése korábban csak speciális rendszerekre vagy szoftverekre korlátozódott, amelyekhez mély ismeretek szükségesek voltak olyan nyelvekben, mint a JavaScript vagy a C++. Azonban a webtechnológia fejlődésének köszönhetően a PHP – egy könnyen használható és rugalmas nyelv – már felhasználható 3D renderelés beépítésére webalkalmazásokba. A fejlesztők a robusztus 3D PHP Render könyvtár segítségével közvetlenül PHP-ben generálhatnak és dolgozhatnak 3D objektumokkal. A programozók könnyedén hozhatnak létre és kezelhetnek 3D vizuális elemeket a hatékony és sokoldalú 3D PHP Render könyvtár segítségével. Számos előnye közé tartozik a bonyolult jelenetek és 3D modellek létrehozása, animációk készítése, a világítás és árnyékok kezelése, valamint különféle textúrák és anyagok alkalmazása.

A 3D PHP render könyvtár használhatósága az egyik legkiemelkedőbb előnye. Anélkül, hogy bonyolult új nyelveket vagy keretrendszereket kellene megtanulni, a PHP-vel már jártas szoftverfejlesztők gyorsan megérthetik a könyvtár alapjait, és elkezdhetnek 3D jeleneteket létrehozni. A meglévő PHP keretrendszerek és könyvtárak egyszerűen integrálhatók a 3D PHP render könyvtárral. Egyszerű API-t kínál, és könnyen beilleszthető a PHP-t használó webalkalmazásokba. A PHP és a 3D grafika közötti szakadék áthidalásával ez a könyvtár lehetővé teszi a fejlesztők számára, hogy meglévő PHP tudásuk felhasználásával gazdag vizuális élményeket hozzanak létre. A fejlesztők a könyvtár funkcióit felhasználva vonzó 3D elemeket adhatnak online alkalmazásaikhoz, életre keltve azokat. Könnyű használata, rugalmassága és teljesítménye révén ez a könyvtár készen áll arra, hogy átalakítsa a webes élményünket, közelebb hozva minket egy olyan jövőhöz, ahol a 3D grafika az online interakciók szabványos eleme.

Previous Next

Első lépések a PHP Renderrel

A PHP Render stabil kiadásának legegyszerűbb telepítése a Composer használatával történik. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.

PHP Render telepítése Composerrel

$composer install php-render 

A lefordított megosztott könyvtárat letöltheti a Github tárolóból.

3D modell kezelése PHP API-val

A nyílt forráskódú PHP Render könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy különféle feladatokat kezeljenek a 3D modellekkel kapcsolatban PHP alkalmazásokban. A könyvtár megkönnyíti a dinamikus és interaktív 3D tartalom létrehozását, valamint kulcsképkockák és átmenetek definiálását az objektumok, kamerák és fények animálásához. A szoftverfejlesztők könnyedén generálhatnak és manipulálhatnak különböző geometriai alakzatokat, beleértve a sokszögeket, gömböket, kockákat és egyebeket. Módosíthatják a csúcspontokat, alkalmazhatnak transzformációkat, és kombinálhatják az alakzatokat összetett modellek létrehozásához. Az alábbi példa bemutatja, hogyan tölthet be egy modellt egy OBJ fájlból PHP kóddal.

Hogyan töltsünk be modellt egy OBJ fájlból a PHP API használatával?

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 jelenetek renderelése PHP API-val

A nyílt forráskódú PHP Render könyvtár megkönnyíti a szoftverfejlesztők számára, hogy különféle 3D jeleneteket töltsenek be és rendereljenek PHP alkalmazásaikban. Egyszerűsített API-t biztosít a 3D jelenetek rendereléséhez, kamera vezérléssel, megvilágítással és objektummanipulációval. A fejlesztők definiálhatják az objektumokat, elhelyezhetik őket a jelenetben, és meghatározhatják megjelenésüket és viselkedésüket. Emellett a szoftverfejlesztők különféle geometriai alakzatokat hozhatnak létre és manipulálhatnak, beleértve a sokszögeket, gömböket, kockákat és egyebeket.

Jobb termékvizualizáció

A szabadon elérhető 3D PHP Render könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy könnyedén vizuálisan lenyűgöző 3D elemeket adjanak webalkalmazásaikhoz. Az e-kereskedelmi weboldalak a 3D PHP Render könyvtárat felhasználhatják interaktív terméknézetek biztosítására, lehetővé téve a vásárlók számára, hogy különböző szögekből forgassák, nagyítsák és vizsgálják meg a termékeket. Ez az elmélyült élmény javítja a termék megértését és növeli a vásárlói elégedettséget. Az alábbi példa bemutatja a barycentrikus koordináták interpolációját egy megrajzolt háromszögön belül a PHP API használatával.

Hogyan hajtsunk végre interpolációt a barycentrikus koordinátákon egy megrajzolt háromszögön belül PHP-vel?

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),
);
 Magyar