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".
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!
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
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
Returns void
Mostra os eixos de origem do espaço usado;
Example
(show-axis 1)
Returns void
Mostra uma contaem de fps na parte inferior esquerda da tela.
Example
(show-fps 1)
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))
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))
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
Returns void
Clears the texture cache, meaning changed textures on disk are reloaded.
Example
(clear-texture-cache)
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
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
Returns void
Ajusta a projeção ortográfica - p.e. sem perspectiva.
Example
(ortho)
Returns void
Ajusta a projeção como perspectiva (o padrão) depois que ortho foi acionada.
Example
(persp)
Returns void
Ajusta o nível de zoom para a projeção ortográfica.
Example
(set-ortho-zoom 2)
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!!!
Returns void
ajusta a limpeza do frame, desligado ou ligado.
Example
(clear-frame 0) (clear-frame 1)
Returns void
Ajusta a limpeza do zbuffer, desligado ou ligado.
Example
(clear-zbuffer 0) (clear-zbuffer 1)
Returns void
Ajusta a limpeza do buffer de acumulação, ligado ou desligado
Example
(clear-accum 1)
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))))
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))))
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))))
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)
Returns vetor-matriz
Pega a matriz de tranformação da câmera travada. Leva em consideração o atraso.
Example
(get-locked-matrix)
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)))
Returns matriz-de-projeção
Pega a matriz de projeção atual.
Example
(get-projection-transform)
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))
Returns vetor-tamanho
Retorna um vetor contendo a atual largura e altura da janela
Example
(get-screen-size)
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!
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)
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)
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.
Returns void
Seleciona qual buffer para desenhar, se em modo estéreo você iria fazer 'back-right e 'back-left
Example
(draw-buffer 'back)
Returns void
Seleciona qual buffer para ler.
Example
(read-buffer 'back)
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)
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))
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)
Returns void
Ajusta o alcance do volume da renderização da sombra.
Example
(shadow-length 10)
Returns void
Liga debug na renderização do volume da sombra.
Example
(shadow-debug 1)
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)
Returns void
Imprime uma porção de informaçao do renderizador.
Example
(print-info)
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)
Returns void
Pede que a janela atual do fluxus fique tela cheia.
Example
(set-full-screen)