Everything returning to normal in 3D, still a long way to go
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
#include "visual_server_viewport.h"
|
||||
#include "visual_server_global.h"
|
||||
#include "visual_server_canvas.h"
|
||||
#include "visual_server_scene.h"
|
||||
#include "globals.h"
|
||||
|
||||
|
||||
|
||||
void VisualServerViewport::_draw_viewport(Viewport *p_viewport) {
|
||||
|
||||
/* Camera should always be BEFORE any other 3D */
|
||||
@@ -58,6 +61,12 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!p_viewport->disable_3d && p_viewport->camera.is_valid()) {
|
||||
|
||||
VSG::scene->render_camera(p_viewport->camera,p_viewport->scenario,p_viewport->size);
|
||||
}
|
||||
|
||||
if (!p_viewport->hide_canvas) {
|
||||
int i=0;
|
||||
|
||||
@@ -248,6 +257,11 @@ void VisualServerViewport::draw_viewports() {
|
||||
|
||||
ERR_CONTINUE( !vp->render_target.is_valid() );
|
||||
|
||||
bool visible = vp->viewport_to_screen_rect!=Rect2() || vp->update_mode==VS::VIEWPORT_UPDATE_ALWAYS || vp->update_mode==VS::VIEWPORT_UPDATE_ONCE;
|
||||
|
||||
if (!visible)
|
||||
continue;
|
||||
|
||||
VSG::rasterizer->set_current_render_target(vp->render_target);
|
||||
_draw_viewport(vp);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user