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

Biblioteca PHP Gratuita para Renderização 3D de Cenas Complexas

Biblioteca de Renderização 3D em PHP de código aberto permite que desenvolvedores de software gerem e manipulem gráficos 3D, analisem arquivos OBJ e apliquem várias texturas e materiais

O que é PHP Render?

O desenvolvimento web avançou significativamente, mudando continuamente para produzir experiências visualmente impressionantes e imersivas. A renderização de gráficos 3D era anteriormente restrita a sistemas ou softwares especializados que exigiam um profundo entendimento de linguagens como JavaScript ou C++. No entanto, graças aos avanços na tecnologia web, o PHP — uma linguagem conhecida por sua facilidade de uso e adaptabilidade — agora pode ser usado para incluir renderização 3D em aplicações web. Desenvolvedores podem gerar e trabalhar com objetos 3D diretamente em PHP com a ajuda da robusta biblioteca 3D PHP Render. Programadores podem criar e manipular visualizações 3D facilmente com a ajuda da poderosa e adaptável biblioteca 3D PHP Render. Entre suas muitas vantagens estão a capacidade de gerar cenas e modelos 3D intricados, criar animações, gerenciar iluminação e sombras, e aplicar várias texturas & materiais.

A facilidade de uso de uma biblioteca de renderização 3D em PHP é um de seus benefícios mais notáveis. Sem precisar aprender linguagens ou frameworks novos e complicados, desenvolvedores de software que já estão familiarizados com PHP podem compreender rapidamente os fundamentos da biblioteca e começar a criar cenários 3D. Frameworks e bibliotecas PHP existentes são simplesmente integrados com a biblioteca de renderização 3D em PHP. Ela oferece uma API simples e é fácil de integrar em aplicações web que utilizam PHP. Ao fechar a lacuna entre PHP e gráficos 3D, esta biblioteca permite que desenvolvedores de software criem experiências visuais ricas usando sua expertise existente em PHP. Os desenvolvedores podem usar os recursos desta biblioteca para adicionar elementos 3D visualmente atraentes aos seus aplicativos online, dando vida a eles. Com sua facilidade de uso, flexibilidade e desempenho, esta biblioteca está pronta para transformar como experimentamos a web, nos aproximando de um futuro onde os gráficos 3D são um recurso padrão nas interações online.

Previous Next

Começando com PHP Render

A maneira mais fácil de instalar a versão estável do PHP Render é usando o Composer. Por favor, use o comando a seguir para uma instalação tranquila.

Instale PHP Render via Composer

$composer install php-render 

Você pode baixar a biblioteca compartilhada compilada do repositório GitHub.

Trabalhe com Modelo 3D via API PHP

A biblioteca de código aberto PHP Render permite que desenvolvedores de software lidem com várias tarefas relacionadas a modelos 3D dentro de aplicações PHP. A biblioteca facilita a criação de conteúdo 3D dinâmico & interativo e pode definir quadros‑chave e transições para animar objetos, câmeras e luzes. Os desenvolvedores de software podem gerar e manipular facilmente várias formas geométricas, incluindo polígonos, esferas, cubos e mais. Eles podem modificar vértices, aplicar transformações e combinar formas para criar modelos complexos. O exemplo a seguir mostra como os desenvolvedores de software podem carregar um modelo a partir de um arquivo OBJ usando código PHP.

Como carregar um modelo a partir de um arquivo OBJ usando a 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);

Renderização de Cenas 3D via API PHP

A biblioteca PHP Render de código aberto facilita para os desenvolvedores de software carregar e renderizar vários tipos de cenas 3D dentro de suas aplicações PHP. Ela fornece uma API simplificada para renderização de cenas 3D, completa com controles de câmera, iluminação e manipulação de objetos. Os desenvolvedores podem definir objetos, posicioná‑los dentro da cena e especificar sua aparência e comportamento. Além disso, os desenvolvedores de software podem gerar e manipular várias formas geométricas, incluindo polígonos, esferas, cubos e mais.

Melhor Visualização de Produtos

A biblioteca gratuita 3D PHP Render capacita os desenvolvedores de software a adicionar elementos 3D visualmente impressionantes às suas aplicações web sem esforço. Sites de comércio eletrônico podem utilizar a biblioteca 3D PHP Render para oferecer visualizações interativas de produtos, permitindo que os clientes girem, ampliem e examinem os produtos de diferentes ângulos. Essa experiência imersiva aprimora a compreensão do produto e melhora a satisfação do cliente. O exemplo a seguir demonstra a interpolação das coordenadas baricêntricas dentro de um triângulo desenhado usando a API PHP.

Como realizar a interpolação de coordenadas baricêntricas dentro de um triângulo desenhado 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),
);
 Português