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
- Configuração e Instalação Panda3D - Por Marcc3d
- Configurar modelos animados no Blender - Por Mcunha98
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
- 1. Lista de Todos os Atributos

- 2. Iluminação
- 3. Materiais
- 4. O Depth Test e o Depth Writer
- 5. Fog
- 6. O Alpha Test

- 7. As Máscaras Color Write

- 8. Antialiasing

- 9. Clip Planes

- 10. Pintar e Colorir

- 11. Esconder as Faces da Frente e as Faces de Trás

- 12. Light Ramps

- 13. Controle auxiliar de BitPlane

- 14. Testando stencil escrevendo atributo

- 1. Lista de Todos os Atributos
- 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

- 1. Texturização Simples
- 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

- 1. Basico de Shaders
- 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
- 1. Carregando e tocando Sons e Musicas
- 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
- 1. Intervalos Lerp
- Tarefas e gerenciamento de eventos
- 1. Tarefas

- 2. Gerenciamento de eventos

- 3. Loop principal
- 1. Tarefas
- 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
- 1. Fonte de texto
- 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
- 1. DirectBotão
- Efeitos de Render
- 1. Efeitos de Compasso

- 2. Efeito Billboard

- 1. Efeitos de Compasso
- Maquinas de estado finito
- 1. FSM introdução

- 2. uso simples de FSM

- 3. FSM com input

- 4. Tidbits FSM avançados

- 1. FSM introdução
- Terreno
- 1. o Tesselator de Heightfield

- 2. Mipmapping geométrico

- 1. o Tesselator de Heightfield
- 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

- 1. Como o Panda Armazena vértices e geometria
- 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

- 1. Filtros de imagem comuns
- 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

- 1. Introduzindo as classes gráficas
- 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

- 1. Usando o painél de partículas
- 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

- 1. Sólidos de Colisão
- Suporte a hardware
- 1. Suporte a Teclado

- 2. Suporte a Mouse

- 3. Suporte a joystick

- 4. Capacetes de realidade virtual e trackers

- 1. Suporte a Teclado
- Motor de Matemática
- 1. Representação da Matriz

- 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

- 1. Motor de física embutido do Panda3d
- Motion Paths

- Tempo
- 1. O relógio Global

- 1. O relógio Global
- Networking
- 1. Protocolo de Datagram

- 2. Conexão cliente-servidor

- 3. Transmitindo Data

- 4. Baixando um arquivo

- 1. Protocolo de Datagram
- Multifiles
- 1. Criando Multifiles

- 2. Patching

- 3. Carregando recursos de fontes não padrão

- 1. Criando Multifiles
- 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

- 1. Usando packp3d
- 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

- a. Chave privada e chave pública
- 4. Assinando seus arquivos p3d

- 1. Embedded com um elemento objeto
- 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

- A. Introdução a arquivos p3d
- 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

- A. Programa de Exemplo: Asteróides
- V. DirectStart( conteudo de )

- VI. Depurando
- A. Mensagens de Log

- B. O debugger Python

- C. Rodando o panda no debugger CXX

- A. Mensagens de Log
- 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

- A. Diagnósticos básicos de performance
- 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

- 1. Como compilar um jogo panda3d CXX usando microsoft visual studio 2008
- B. A framework da janela

- C. Texturizando em CXX

- D. Contagem de referência

- A. Como compilar um programa panda3d CXX
- IX. Ferramentas do Panda3d
- A. O browser de SceneGraph
- 1. Navegação de Mouse Melhorada

- 1. Navegação de Mouse Melhorada
- B. Interrogar

- C. Editores Python
- 1. SPE

- 1. SPE
- D. Dicas de Pipeline

- E. Exportando modelos
- 1. Convertendo do 3d Studio Max

- 2. Convertendo do Maya

- 3. Convertendo do Blender

- 4. Convertendo do SoftImage

- 5. Convertendo do Milkshape 3D

- 6. Convertendo do Gmax

- 7. Convertendo de outros formatos

- 8. Convertendo Egg para Bam

- 9. Parsing e gerando arquivos egg

- 10. Sintaxe do Egg

- 1. Convertendo do 3d Studio Max
- F. Vendo modelos no Pview

- G. Criando um instalador com packpanda

- H. O editor de Cena
- X. Compilando Panda da fonte
- A. O browser de SceneGraph
- 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

- A Scene Graph
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