estado-global

Description

Estado global é realmente qualquer coisa que controla o renderizador globalmente, então ele afeta todas as primitivas ou controla o renderizador diretamente - p.e. controle de câmera ou efeitos de tela cheia como "embaçamento".

(clear-engine)

Returns void

Limpa o renderizador, e o sistema de física. Este comando não deve ser chamado diretamente, use clear ao invés, já que limpa algumas outras coisas também, e chama clear-engine ele mesmo.

Example

 (clear-engine) ; woo hoo!

(blur número-quantidade)

Returns void

Ajusta a opção de blur na tela inteira. Menos é mais, mas se você ajustar isto muito baixo vai fazer com que a edição na tela fique impossível de ler, então salve seus scripts primeiro :).

Example

 (blur 0.1) ; para belos rastros

(fog cor-nuvem-vetor número-quantidade número-ínicio númeor-final)

Returns void

Ajusta os paramêtros da neblina pra dar uma indicação de profundidade visual (perspectiva aérea no jargão de pintores). Isto pode obscurecer a edição na tela, então mantenha a quantidade baixa.

Example

 (clear-colour (vector 0 0 1)) ; fica legal se o fundo de tela bate.
 (fog (vector 0 0 1) 0.01 1 100) ; neblina azul

(show-axis número-mostrar)

Returns void

Mostra os eixos de origem do espaço usado;

Example

 (show-axis 1)

(show-fps número-mostrar)

Returns void

Mostra uma contaem de fps na parte inferior esquerda da tela.

Example

 (show-fps 1)

(lock-camera número-id-primitiva)

Returns void

Trava a transformação da camera em cima da transformação do objeto específicado. É como parentear a câmera ao objeto. Esta é a forma mais fácil de dirigir a câmera proceduralmente. Use um número id de 0 para destravar a câmera.

Example

 (clear)
 (define obj (build-cube)) ; make a cube for the camera to lock to

 (with-state ; make a background cube so we can tell what's happening
     (hint-wire)
     (hint-unlit)
     (texture (load-texture "test.png"))
     (colour (vector 0.5 0.5 0.5))
     (scale (vector -20 -10 -10))
     (build-cube))

 (lock-camera obj) ; lock the camera to our first cube
 (camera-lag 0.1)  ; set the lag amount, this will smooth out the cube jittery movement

 (define (animate)
     (with-primitive obj
         (identity)
         (translate (vector (fmod (time) 5) 0 0)))) ; make a jittery movement

 (every-frame (animate))

(camera-lag número-quantidade)

Returns void

O travamento da câmera tem um atraso construído junto o que significa que o movimento vai ser macio em relativo a primitiva ao qual ela está travada.

Example

 (clear)
 (define obj (build-cube)) ; make a cube for the camera to lock to

 (with-state ; make a background cube so we can tell what's happening
     (hint-wire)
     (hint-unlit)
     (texture (load-texture "test.png"))
     (colour (vector 0.5 0.5 0.5))
     (scale (vector -20 -10 -10))
     (build-cube))

 (lock-camera obj) ; lock the camera to our first cube
 (camera-lag 0.1)  ; set the lag amount, this will smooth out the cube jittery movement

 (define (animate)
     (with-primitive obj
         (identity)
         (translate (vector (fmod (time) 5) 0 0)))) ; make a jittery movement

 (every-frame (animate))

(load-texture pngnomedoarquivo-string)

Returns void

Carrega uma imagem do disco, converte esta a uma textura e retorna o número id. O carregamento da textura se dá no cache de memória, então repetidamente chamar esta função não vai causar que carregue de novo. Use force-load-texture se você está mudando a textura enquanto o script estiver rodando. O png pode ser RGB ou RGBA para usar transparência alpha.

Example

 ; simple usage:
 (texture (load-texture "mytexture.png"))
 (build-cube) ; the cube will be texture mapped with the image

 ; complex usages:

 ; the options list can contain the following keys and values:
 ; id: texture-id-number (for adding images to existing textures - for mipmapping and cubemapping)
 ; type: [texture-2d cube-map-positive-x cube-map-negative-x cube-map-positive-y
 ;         cube-map-negative-y cube-map-positive-z cube-map-negative-z]
 ; generate-mipmaps : exact integer, 0 or 1
 ; mip-level : exact integer
 ; border : exact integer

 ; setup an environment cube map
 (define t (load-texture "cube-left.png" (list 'type 'cube-map-positive-x)))
 (load-texture "cube-right.png" (list 'id t 'type 'cube-map-negative-x))
 (load-texture "cube-top.png" (list 'id t 'type 'cube-map-positive-y))
 (load-texture "cube-bottom.png" (list 'id t 'type 'cube-map-negative-y))
 (load-texture "cube-front.png" (list 'id t 'type 'cube-map-positive-z))
 (load-texture "cube-back.png" (list 'id t 'type 'cube-map-negative-z))
 (texture t)

 ; setup a mipmapped texture with our own images
 ; you need as many levels as it takes you to get to 1X1 pixels from your
 ; level 0 texture size
 (define t2 (load-texture "m0.png" (list 'generate-mipmaps 0 'mip-level 0)))
 (load-texture "m1.png" (list 'id t2 'generate-mipmaps 0 'mip-level 1))
 (load-texture "m2.png" (list 'id t2 'generate-mipmaps 0 'mip-level 2))
 (load-texture "m3.png" (list 'id t2 'generate-mipmaps 0 'mip-level 3))
 (texture (load-texture "mytexture.png"
        (list
          'generate-mipmaps 0  ; turn mipmapping off
              'border 2)))          ; add a border to the texture

 (build-cube) ; the cube will be texture mapped with the image

(clear-texture-cache)

Returns void

Clears the texture cache, meaning changed textures on disk are reloaded.

Example

 (clear-texture-cache)

(frustum número-esquerda número-direita número-baixo número-topo)

Returns void

Ajusta o frustum da camera, e portanto o quociente de aspecto do frame.

Example

 (frustum -1 1 -0.75 0.75) ; definições padrão

(clip número-frente número-trás)

Returns void

Ajusta os planos de clipagem da frente e de trás para o frustum da câmera, portanto o ângulo de visão. Mude a distância da frente do clip para alterar a perspectiva de telephoto para fisheye.

Example

 (clip 1 10000) ; default settings

(ortho)

Returns void

Ajusta a projeção ortográfica - p.e. sem perspectiva.

Example

 (ortho)

(persp)

Returns void

Ajusta a projeção como perspectiva (o padrão) depois que ortho foi acionada.

Example

 (persp)

(set-ortho-zoom número-quantidade)

Returns void

Ajusta o nível de zoom para a projeção ortográfica.

Example

 (set-ortho-zoom 2)

(clear-colour vetor-cor)

Returns void

Ajusta a cor que vai limpar o renderizador, isto forma a cor do fundo da cena.

Example

 (clear-colour (vector 1 0 0)) ; RED!!!

(clear-frame número-ajuste)

Returns void

ajusta a limpeza do frame, desligado ou ligado.

Example

 (clear-frame 0)
 (clear-frame 1)

(clear-zbuffer número-ajuste)

Returns void

Ajusta a limpeza do zbuffer, desligado ou ligado.

Example

 (clear-zbuffer 0)
 (clear-zbuffer 1)

(clear-accum número-ajuste)

Returns void

Ajusta a limpeza do buffer de acumulação, ligado ou desligado

Example

 (clear-accum 1)

(build_camera)

Returns numeroid-camera

adiciona uma nova camera/view retorna sua id

Example

 (clear)
 (viewport 0 0.5 0.5 0.5)

 (define cam2 (build-camera))
 (current-camera cam2)
 (viewport 0.5 0 0.5 1)

 (define cam3 (build-camera))
 (current-camera cam3)
 (set-camera (mmul (mtranslate (vector 0 0 -5))
         (mrotate (vector 0 45 0))))
 (viewport 0 0 0.5 0.5)

 ; render a primitive in one view only
 (define t (with-state
     (translate (vector 3 0 0))
     (scale 0.3)
     (colour (vector 1 0 0))
     (build-torus 1 2 10 10)))

 (with-primitive t
     (hide 1) ; hide in all
     (camera-hide 0)) ; unhide in current camera


 (current-camera 0)

 (define c (with-state
         (hint-cull-ccw)
         (hint-unlit)
         (hint-wire)
         (line-width 2)
         (colour (vector 0.4 0.3 0.2))
         (wire-colour (vector 0 0 0))
         (scale 10)
         (build-cube)))

 (define p (with-state
         (scale 3)
         (load-primitive "widget.obj")))

 (every-frame
     (with-primitive p
         (rotate (vector 0 1 0))))

(current_camera numero-cameraid)

Returns void

Ajusta a camera atual para usar

Example

 (clear)
 (viewport 0 0.5 0.5 0.5)

 (define cam2 (build-camera))
 (current-camera cam2)
 (viewport 0.5 0 0.5 1)

 (define cam3 (build-camera))
 (current-camera cam3)
 (set-camera (mmul (mtranslate (vector 0 0 -5))
         (mrotate (vector 0 45 0))))
 (viewport 0 0 0.5 0.5)

 ; render a primitive in one view only
 (define t (with-state
     (translate (vector 3 0 0))
     (scale 0.3)
     (colour (vector 1 0 0))
     (build-torus 1 2 10 10)))

 (with-primitive t
     (hide 1) ; hide in all
     (camera-hide 0)) ; unhide in current camera


 (current-camera 0)

 (define c (with-state
         (hint-cull-ccw)
         (hint-unlit)
         (hint-wire)
         (line-width 2)
         (colour (vector 0.4 0.3 0.2))
         (wire-colour (vector 0 0 0))
         (scale 10)
         (build-cube)))

 (define p (with-state
         (scale 3)
         (load-primitive "widget.obj")))

 (every-frame
     (with-primitive p
         (rotate (vector 0 1 0))))

(viewport numero-x numero-y numero-largura numero-altura)

Returns void

Ajusta a viewport na câmera atual. Esta é a altura da janela que a câmera renderiza, aonde 0,0 é a ponta inferior esquerda e 1,1 é a ponta superior direita.

Example

 (clear)
 (viewport 0 0.5 0.5 0.5)

 (define cam2 (build-camera))
 (current-camera cam2)
 (viewport 0.5 0 0.5 1)

 (define cam3 (build-camera))
 (current-camera cam3)
 (set-camera (mmul (mtranslate (vector 0 0 -5))
         (mrotate (vector 0 45 0))))
 (viewport 0 0 0.5 0.5)

 ; render a primitive in one view only
 (define t (with-state
     (translate (vector 3 0 0))
     (scale 0.3)
     (colour (vector 1 0 0))
     (build-torus 1 2 10 10)))

 (with-primitive t
     (hide 1) ; hide in all
     (camera-hide 0)) ; unhide in current camera


 (current-camera 0)

 (define c (with-state
         (hint-cull-ccw)
         (hint-unlit)
         (hint-wire)
         (line-width 2)
         (colour (vector 0.4 0.3 0.2))
         (wire-colour (vector 0 0 0))
         (scale 10)
         (build-cube)))

 (define p (with-state
         (scale 3)
         (load-primitive "widget.obj")))

 (every-frame
     (with-primitive p
         (rotate (vector 0 1 0))))

(get-camera)

Returns vetor-matriz

Pega a transformação da camera. Esta é a função de baixo nível, use get-camera-transform ao invés.

Example

 (get-camera)

(get-locked-matrix)

Returns vetor-matriz

Pega a matriz de tranformação da câmera travada. Leva em consideração o atraso.

Example

 (get-locked-matrix)

(set-camera)

Returns void

Ajusta a matriz de transformação da câmera. Esta é a interface de baixo nível usada por set-camera-transform, a qual você devia usar geralmente ao invés.

Example

 (set-camera (mtranslate (vector 0 0 -10)))

(get-projection-transform)

Returns matriz-de-projeção

Pega a matriz de projeção atual.

Example

 (get-projection-transform)

(set-projection-transform vetor-matriz)

Returns void

Ajusta a matriz de projeção diretamente.

Example

 (set-projection-transform (vector 1 0 0 0 0 4/3 0 0 0 0 -1 -1 0 0 -2 -0))

(get-screen-size)

Returns vetor-tamanho

Retorna um vetor contendo a atual largura e altura da janela

Example

 (get-screen-size)

(set-screen-size vetor-tamanho)

Returns void

Ajusta a altura e largura da janela.

Example

 (set-screen-size (vector 10 10)) ; small window time :)
 (set-screen-size (vector 720 576)) ; and back again!

(select número-janelaposX número-janelaposY número-tamanho-pixel)

Returns número-id-primitiva

Olha na região específicada e retorna a id da primitiva mais próxima à renderização da câmera lá, ou 0 se não existente.

Example

 (display (select 10 10 2))(newline)

(select-all numero-telax numero-telay numero-tamanhopixel)

Returns lista de numeros-primitivaid

Procura na região especificada e retorna todas ids renderizadas lá em uma lista, ou '() se não existe nenhuma.

Example

 (display (select-all 10 10 2))(newline)

(desiredfps número-fps)

Returns void

Desacelera o renderizador de forma a não pegar 100% de cpu. Isto dá um limite acima na taxa de fps, o que não completamente bate o número dado, mas nós estamos trabalhando nisto...

Example

 (desiredfps 100000) ; faz fluxus renderizar tão rápido quanto pode
                     ; e levar 100% de cpu.

(draw-buffer nome-buffer)

Returns void

Seleciona qual buffer para desenhar, se em modo estéreo você iria fazer 'back-right e 'back-left

Example

 (draw-buffer 'back)

(read-buffer nome-buffer)

Returns void

Seleciona qual buffer para ler.

Example

 (read-buffer 'back)

(set-stereo-mode modo)

Returns bool

seleciona qual modo estéreo a usar, atualmente somente 'cristal-eyes e 'no-stereo são suportados o retorno indica se a operação foi bem sucedida ou não 'crystal-eyes vai retornar falso se você não tem uma janela estéreo.

Example

 (set-stereo-mode 'crystal-eyes)

(set-colour-mask vetor)

Returns void

Ajusta a máscara de cor dando a esta um quatérnio de booleanos que correspondem aos canais vermelho, verde, azul e alpha respectivamente depois desta operação você vai ver apenas aquelas cores que você ajustar como verdadeiras (isto é útil apenas para estéreo com óculos azul-vermelhos)

Example

 (set-colour-mask #(#t #f #f #t))

(shadow-light número-ajuste)

Returns void

Ajusta a luz para usar na geração de sombras, ajuste para 0 para desativar renderização de sombras.

Example

 (shadow-light 1)

(shadow-length número-ajuste)

Returns void

Ajusta o alcance do volume da renderização da sombra.

Example

 (shadow-length 10)

(shadow-debug número-ajuste)

Returns void

Liga debug na renderização do volume da sombra.

Example

 (shadow-debug 1)

(accum simbolo-modo número-valor)

Returns void

Controla o buffer de acumulação (somente chama glAccum embaixo do tapete). Símbolos possíveis são: accum load return add mult

Example

 (accum 'add 1)

(print-info)

Returns void

Imprime uma porção de informaçao do renderizador.

Example

 (print-info)

(set-cursor simbolo-nome-imagem)

Returns void

Troca o cursor do mouse. Simbolos da imagem do cursor consistem em: 'right-arrow, 'left-arrow, 'info, 'destroy, 'help, 'cycle, 'spray, 'wait, 'text, 'crosshair, 'up-down, 'left-right, 'top-side, 'bottom-side, 'left-side, 'right-side, 'top-left-corner, 'top-right-corner, 'bottom-right-corner, 'bottom-left-corner, 'full-crosshair, 'none, 'inherit O cursor padrão quando a janela é criada é 'inherit.

Example

 (set-cursor 'crosshair)

(set-full-screen)

Returns void

Pede que a janela atual do fluxus fique tela cheia.

Example

 (set-full-screen)