Kameraansicht auf Texture
Übersicht

![]() |
TheProgrammerBetreff: Kameraansicht auf Texture |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Ich möchte die Kameraansicht auf eine Texture bekommen. Ich habe es folgendermaßen probiert: Code: [AUSKLAPPEN] tex = createtexture(320,240) camera = createcamera() entity = createcube() setbuffer texturebuffer(tex) cameraviewport camera,0,0,320,340 setbuffer backbuffer() entitytexture entity,tex Wie kann man es machen? |
||
aktuelles Projekt: The last day of human being |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mußte mit Copyrect vom Backbuffer in die Texture kopieren ... | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
setbuffer texturebuffer(tex)
; camviewport setzen oder am besten gleich ne 2te cam die sonst gehidet is render setbuffer backbuffer() ;camviewport zurücksetzen falls oben neu gesetzt |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dreamora
BB kann nicht direkt in die Texture ein Bild von der Camera erzeugen . Wäre mir neu ... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Scheint als hättest du in dem Fall grad was neues gelernt ![]() du kannst nicht direkt ein Bild einer Cam erzeugen Aber du kannst es in den Buffer rendern. heisst einfach dass du pro Mainloop 2x rendern musst womit du halt nur noch halb so viele Frames hast. Das "Texturrendern" der Cam kann man jedoch auch so machen dass es zb nur 20x mal pro sekunde geschieht oder so. Auf die Hardware technik die "texturrendern" erlaubt können wir ja von Blitz3D aus net zugreifen. die wäre noch um einiges effizienter |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
...
camTexture = CreateTexture(128, 128) ... UpdateWorld CameraViewPort camera, 0, 0, 128, 128 SetBuffer TextureBuffer(camTexture) RenderWorld SetBuffer BackBuffer() CameraViewPort camera, 0, 0, 800, 600 RenderWorld Flip |
||
vertex.dreamfall.at | GitHub |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir geht das aber nicht !???
Also wenn ich erst den Buffer setzte und dann rendern tuh sehe ich nix in der Texture ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hast du die Textur auch auf ein objekt geklebt dass du überhaupt siehst? ![]() |
||
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey. Danke!!! ![]() Hier habe ich es übrigens verwenden: https://www.blitzforum.de/view...5109#35109 |
||
aktuelles Projekt: The last day of human being |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dreamora
Ja habe ich und ich könnte es nämlich gut gebrauchen für eine Chromkugel die eine zweite Camera benutzt . Oder gehts nur mit der ersten Cam ? Blitz Version ist 1.86 |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es geht mit jeder beliebigen cam
es darf einfach nur 1 cam sichtbar sein zum zeitpunkt des rendern sonst geht das net. wie du ja am beispiel siehst musst du erst die "texturkamera" rendern, dann die verschwinden lassen und dann wieder die normale spielercam rendern kostet dich einfach 50% der Frames ein wenn du die Texturkamera in echtzeit aktualisierst und das ohne dass es wirklich was bringt ... |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dreamora
Fällt mir gerade ein das ich ja nur eine Cam habe und von dieser nur die Pos. umschalte . Ich mache damit mal experimente weil so könnte ich mir einmal CopyRect sparen !! |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
So geht es bei mir nicht ![]() @Dreamora kannst du es bitte mal bei dir testen ? Code: [AUSKLAPPEN] Graphics3D 800,600,16,1 SetBuffer BackBuffer() Global cam=CreateCamera() tx=CreateTexture(128,128) c=CreateCube() EntityTexture c,tx PositionEntity cam,0,0,-5 CameraClsColor cam,100,100,100 While Not KeyHit(1) UpdateWorld CameraViewport cam,0,0,128,128 SetBuffer TextureBuffer(tx) RenderWorld SetBuffer BackBuffer() CameraViewport cam,0,0,800,600 RenderWorld TurnEntity c,0,1,0 Flip Wend End |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group