Panda3D

O que é a Panda3D

A Panda3D é uma engine 3D: uma biblioteca de subrotinas para renderização 3D e desenvolvimento de jogos. A criação de jogos é feita com um programa escrito na linguagem de programação Python ou C++ que controla a biblioteca Panda3D. A Panda3D é open-source e livre para qualquer propósito, até mesmo comercial.

Este wikilivro tem o propósito de servir de referência rápida para os programadores brasileiros e para ajudar a fixar bem o conteúdo do manual oficial, que está em inglês e você encontra neste link http://www.panda3d.org/wiki/index.php/Main_Page.

A seção Manual é uma tradução e faz parte do manual oficial em inglês.

Nosso objetivo atual é traduzir o manual, mas também pretendemos o deixar melhor que o original, com tudo relacionado a panda3d, como tutoriais, exemplos e afins. Também contamos com sua ajuda para corrigir o conteudo que temos e expandi-lo.

Tenha uma boa leitura.

Tutoriais

Manual

Etapas de desenvolvimento do texto (5 ou 9 etapas)
Início: Básico: Criação: Desenvolvimento: Maturação: Revisão: Desenvolvido: Finalização: Abrangente:


Conteúdo

  • I. Introdução ao Panda
  • II. Programando com o Panda
    • A Scene Graph
    • O Arquivo de Configuração
    • Models e Actors
    • Os Atributos de Renderização
    • Texturização
      • 1. Texturização Simples
      • 2. Escolhendo tamanho da textura
      • 3. Modos de Wrap da Textura
      • 4. Tipos de filtro de textura
      • 5. Substituição de texturas simples
      • 6. Introdução á multi-textura
      • 7. Modos de Textura
      • 8. Ordem das Texturas
      • 9. Modos de combinação de texturas
      • 10. Transformação de Texturas
      • 11. sets de coordenada de textura múltiplos
      • 12. Coordenadas de textura automatica
      • 13. Texturas Projetadas
      • 14. Mapeamento de ambiente simples
      • 15. Texturas 3D
      • 16. Cube Maps
      • 17. Mapeamento de ambientes com Cube Maps
      • 18. Animação automatica de texturas
      • 19. Tocando arquivos MPG e AVI
      • 20. Transparencia e Blending
      • 21. Gerenciamento de Texturas
      • 22. Compressão de Texturas
    • Shaders
      • 1. Basico de Shaders
      • 2. Lista de inputs possíveis dos shaders
      • 3. Shaders e coordenas de espaço
      • 4. Limitações e bugs conhecidos do Shader
      • 5. O gerador de Shaders
      • 6. Tutorial de shader CG
      • 7. Tutorial CG parte1
      • 8. Tutorial CG parte2
    • Controle da Câmera
    • Som
      • 1. Carregando e tocando Sons e Musicas
      • 2. Manipulando Sons
      • 3. Gerenciadores de áudio
      • 4. Efeitos DSP
      • 5. Áudio 3D
      • 6. MultiCanal
    • Intervalos
      • 1. Intervalos Lerp
      • 2. Intervalos de funções
      • 3. Intervalos de ator
      • 4. Intervalos de Som
      • 5. Intervalos de Motion Path e Partículas
      • 6. Paralelos e sequências
      • 6. Intervalos de Posição, rotação e escala
      • 7. Intervalo de Projéteis
    • Tarefas e gerenciamento de eventos
      • 1. Tarefas
      • 2. Gerenciamento de eventos
      • 3. Loop principal
    • Renderização de texto e imagem
      • 1. Fonte de texto
      • 2. Node de Texto
      • 3. Texto na Tela
      • 4. Imagem na Tela
      • 5. Propriedades de Texto Embeded
    • Direct GUI
      • 1. DirectBotão
      • 2. Direct Checar Botão
      • 3. Direct Botão de Rádio
      • 4. Direct Diálogo
      • 5. Direct Entrada
      • 6. Direct Frame
      • 7. Direct Label
      • 8. Direct Menu de Opções
      • 9. Direct Lista com scroll
      • 10. Direct Barra de Espera
      • 11. Direct Slider
      • 12. Direct Barra de Scroll
      • 13. Direct Frame com Scroll
    • Efeitos de Render
      • 1. Efeitos de Compasso
      • 2. Efeito Billboard
    • Maquinas de estado finito
      • 1. FSM introdução
      • 2. uso simples de FSM
      • 3. FSM com input
      • 4. Tidbits FSM avançados
    • Terreno
      • 1. o Tesselator de Heightfield
      • 2. Mipmapping geométrico
    • Operações avançadas com a estrutura do Panda3d
      • 1. Como o Panda Armazena vértices e geometria
      • 2. GeomVertexData
      • 3. GeomVertexFormat
      • 4. GeomPrimitive
      • 5. Geom
      • 6. GeomNode
      • 7. Bounding Volume
      • 8. Gerando Procedualmente seus modelos
      • 9. Definindo a sua própria GeomVertexFormat
      • 10. formatos pré-definidos de vértices
      • 11. Criando e preenchendo uma GeomVertexData
      • 12. Criando objetos GeomPrimitive
      • 13. Colocando a sua nova geometria no SceneGraph
      • 14. Outras Manipulações de Vertex e Data
      • 15. Lendo Data de geometria existente
      • 16. Modificando Data de geometria existente
      • 17. Mais sobre GeomVertexReader, GeomVertexWriter e GeomVertexRewriter
      • 18. Criando novas texturas do nada
      • 19. gravando 3d models para o disco
    • Renderizar para textura e pós-processamento de imagem
      • 1. Filtros de imagem comuns
      • 2. Filtros de imagens generalizados
      • 3. CubeMaps Dinâmicos
      • 4. Renderização para Textura de Baixo nível
    • Renderizar para textura e pós-processamento de imagem
      • 1. Introduzindo as classes gráficas
      • 2. Percurso dos Gráficos
      • 3. Criando Janelas e Buffers
      • 4. Regiões de display
      • 5. Limpando área de display
      • 6. a area de display 2D
      • 7. Páginas Antigas
      • 8. A Engine de Gráficos
      • 9. A classe GraphicsOutput
      • 10. Buffers Gráficos e Janelas
      • 11. Renderização em múltiplos passes
      • 12. Como controlar ordem de Renderização
    • Efeitos de Partículas
    • Renderizar para textura e pós-processamento de imagem
      • 1. Usando o painél de partículas
      • 2. Carregando o sistema de partículas
      • 3. Parametros basicos para efeitos de particula
      • 4. Fabricas de Particulas
      • 5. Emissores de Particulas
      • 6. Renderizadores de particula
    • Renderizar para textura e pós-processamento de imagem
      • 1. Sólidos de Colisão
      • 2. Handlers de Colisão
      • 3. Entradas de Colisão
      • 4. Traverser de Colisão
      • 5. Bitmasks de colisão
      • 6. Objetos em rapido movimento
      • 7. Exemplo de Pusher
      • 8. Exemplo de Evento
      • 9. Exemplo de BitMask
      • 10. Clicando em objetos 3D
      • 6. Renderizadores de particula
    • Suporte a hardware
      • 1. Suporte a Teclado
      • 2. Suporte a Mouse
      • 3. Suporte a joystick
      • 4. Capacetes de realidade virtual e trackers
    • Motor de Matemática
      • 1. Representação da Matriz
    • Física
      • 1. Motor de física embutido do Panda3d
      • 2. Habilitando física em um node
      • 3. Aplicando física a um node
      • 4. Tipos de força
      • 5. Notas
      • 6. Usando ODE com panda3d
      • 7. Mundos, corpos e massas
      • 8. Simulando o mundo físico
      • 9. Vincular corpos usando juntas
      • 10. Detecção de colisão com ODE
    • Motion Paths
    • Tempo
      • 1. O relógio Global
    • Networking
      • 1. Protocolo de Datagram
      • 2. Conexão cliente-servidor
      • 3. Transmitindo Data
      • 4. Baixando um arquivo
    • Multifiles
      • 1. Criando Multifiles
      • 2. Patching
      • 3. Carregando recursos de fontes não padrão
    • Leitura de Arquivos
    • Threading
    • SubClassing
    • Distribuindo Aplicações Panda3d
      • A. Introdução a arquivos p3d
        • 1. Usando packp3d
        • 2. referenciando pacotes
        • 3. Rodando arquivos p3d
      • B. Distribuindo via Web
        • 1. Embedded com um elemento objeto
        • 2. Embeded com rodarpanda3d
        • 3. Sobre Certificados
          • a. Chave privada e chave pública
          • b. Certificados auto-assinados
          • c. Certificados HTTP( Apache )
          • d. Certificados de E-mail
        • 4. Assinando seus arquivos p3d
      • D. Distribuindo com um instalador auto-contido
      • 1. Pacotes padrão
      • 2. Instalando pacotes
      • 3. Mais sobre referenciar pacotes
      • 4. Construindo e hospedando seus próprios pacotes
      • a. Usando ppackage
      • b. a sintaxe pdef
      • c. Criando múltiplos pacotes
      • d. Hospedando pacotes
      • e. Hospedagem SSL
      • f. Criando pacotes multiplataforma
      • g. Construindo patches
    • g. Programas de Exemplo na distribuição
      • A. Programa de Exemplo: Asteróides
      • B. Programa de Exemplo: Bola no Labirinto
      • C. Programa de Exemplo: Robôs boxeadores
      • D. Programa de Exemplo: Carrosel
      • E. Programa de Exemplo: Shader Cartoon
      • F.Programa de Exemplo: Tabuleiro
      • G. Programa de Exemplo: Luzes de Disco
      • H. Programa de Exemplo: Vagalumes
      • I. Programa de Exemplo: Plantas Fractais
      • J. Programa de Exemplo: Filtro de brilho
      • L. Programa de Exemplo: Túnel infinito
      • M. Programa de Exemplo: Olhando e segurando
      • N. Programa de Exemplo: Media player
      • O. Programa de Exemplo: Trilhas de movimento
      • P. Programa de Exemplo: Caixa de Música
      • Q. Programa de Exemplo: Mapeamento Normal
      • R. Programa de Exemplo: Cubo Procedual
      • T. Programa de Exemplo: Ralph vagante
      • U. Programa de Exemplo: Sombras
      • V. Programa de Exemplo: Sistema Solar
      • W. Programa de Exemplo: Bule de chá na TV
      • W. Programa de Exemplo: Troca de Texturas
    • V. DirectStart( conteudo de )
    • VI. Depurando
      • A. Mensagens de Log
      • B. O debugger Python
      • C. Rodando o panda no debugger CXX
    • VII. Melhorando performance
      • A. Diagnósticos básicos de performance
      • B. Medindo performance com PStats
      • C. O combinador de corpos rígidos
      • D. Problema de perfomance: Muitas Meshes
      • E. Problema de perfomance: Muitas Mudanças de Estado
      • F. Problema de perfomance: Muitos Updates de Texto
      • G. Problema de perfomance: Muitos Instruções de Shader
      • H. Problema de perfomance: Preenchimento Excessivo
      • I. Problema de perfomance: Memória cheia
      • J. Problema de perfomance: Cálculo Python
      • L. Problema de perfomance: Falha ao coletar lixo
      • M. Problema de perfomance: Mal uso do sistema de colisão
      • N. Problema de perfomance: Vídeo integrado da placa mãe
      • O. Problema de perfomance: Muitos polígonos
      • P. Miscelânea
    • VIII. Usando CXX
      • A. Como compilar um programa panda3d CXX
        • 1. Como compilar um jogo panda3d CXX usando microsoft visual studio 2008
        • 2. Como compilar um programa panda3d CXX no Linux
        • 3. Como compilar um programa panda3d CXX no Mac OS X
      • B. A framework da janela
      • C. Texturizando em CXX
      • D. Contagem de referência
    • IX. Ferramentas do Panda3d
    • Lista de executáveis Panda3d
    • Começando na OS X
    • Mais recursos Panda
    • Informação das licença
    • Hospedagem de projetos
    • O canal IRC
    • FAQ
    • Referencias de Classe

Exemplos

  • Tasks
  • Eventos
  • Colisão
  • Efeitos gráficos
  • Sons
  • AI com waypoints
  • Jogo em primeira pessoa
  • Jogo em terceira pessoa
  • Simulador de carro
  • Simulador de vôo

Outros

  • FAQ

Ligações externas