Freitag, 14. Dezember 2018, 04:13 UTC+1

Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: 3D-Gamestudio Hobbyschmiede. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Beiträge: 1 631

Gamestudio: A8

1

Dienstag, 10. Juni 2014, 14:46

Lite-c sichbarkeitsprüfung wie clip oder ABT (adaptive Binär-Tree) richtig im sed anwenden

Hallo liebe Programmiergemeinschafft,
habe ein großes Problem und hoffe ihr könnt mir helfen.
Habe im MED ein cube erstellt und damit lasse ich im SEDeine kleine Welt erstellen, ähnlich Minecraft.
1.Problem ist, ich schaff es nicht weit entfernte cube´s weg zu rendern auch mit Clip etc wird's nicht.
Die cube´s werden zwar nicht mehr dargestellt aber dennoch gerendert...
2.Problem verdeckte cube´s werden auch gerendert, dies soll aber mit dem ABT verhindern lassen aber finde keinen script Anweisung dafür.
Wie stell ich beides an?
Wäre nett wenn mir da jemand helfen kann,
am besten meinen vereinfachten script vervolständigt.
Wäre echt lieb von euch.
hab die A8 Extra
mfg
affeneimer

#include <acknex.h>
#include <ackphysX.h>
#include <default.c>
#include <atypes.h>
#include <mtlFX.c>
#include <player.c>
///////////////////////////////
BMAP* gras_textur = "textur/7.dds";
BMAP* maus_textur = "textur/maus.png";
STRING* cube_entity = "level/cube15.mdl";
STRING* player_str = "max.mdl";
function create_landscabe();
function map_properties ();
function create_landscabe();
function create_cube (VECTOR* vec_pos, int skin_num);
int x;
function set_skin (ENTITY* ent)
{
ent_setskin(ent, gras_textur,1);
}
function map_properties ()
{
sun_light = 206;
sky_color.red = 0;
sky_color.green = 0;
sky_color.blue = 255;
}
function create_level ()
{
level_load (NULL);
map_properties ();
create_landscabe();
ent_create (player_str,nullvector,t_player);
}
function cube_event ()
{
if (event_type == EVENT_CLICK)
{
ent_remove (me);
}
}
action cube_act()
{
set_skin (me);
my.eflags |= CLIP1| CLIP0;
my.emask &= ~DYNAMIC;
my.event = cube_event;
my.emask = ENABLE_CLICK;
}
function create_cube (VECTOR* vec_pos, int skin_num)
{
you = ent_create (cube_entity,vec_pos,cube_act);
you.skin = skin_num;
}
function create_landscabe()
{
{
int i, j, k;
for (i = -40; i<40; i++)
for (j = -40; j<40; j++)
for (k = -7; k<-3; k++)
create_cube (vector(i*64,j*64,k*64),1);
}
}
function main ()
{
mouse_mode = 4; // muss bei mouse_pointer aus gestellt sein
mouse_map = maus_textur; // muss bei mouse_pointer aus gestellt sein
//mouse_pointer=3; //system maus nur im fenstermodus
fog_color = 1;
camera.fog_start = 800;
camera.fog_end = 2000;
camera.clip_near = 0;
camera.clip_far = 10000;

max_entities = 700000;
d3d_antialias = 0;
wait (1);
video_set (1280,1024,0,2); // Fenstermodus
video_window (0,0,16+32+64+128,"ElekCraft"); // Fenstermodus
// video_set(sys_metrics(0),sys_metrics(1),0,1); // Passt sich Monitor an (Vollbild))
create_level ();
}
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

A8 Com besitzer

paul

Fortgeschrittener

2

Dienstag, 10. Juni 2014, 21:49

wie kommst du darauf das die Cubes gerendert werden? gerendert wird nur was gesehen wird

Ich

Profi

Beiträge: 637

Wohnort: Köln

Gamestudio: A8

3

Dienstag, 10. Juni 2014, 21:51

Vielleicht meint er die zahl die bei f11 angezeigt wird... ?(
Witzigkeit im Übermaß ist des Menschen größter Schatz

------------------------ YouTube-Kanäle ------------------------
Ich
Ich.LP
Ich.Tutorial

------------------------ Facebook-Seite ------------------------
Ich

paul

Fortgeschrittener

4

Dienstag, 10. Juni 2014, 22:01

Vielleicht meint er die zahl die bei f11 angezeigt wird... ?(


ja, welche meint er denn? die bei "vis", "ent" oder "geo"
bei "vis" sieht man doch wieviele entitys gerendert werden und das ist soweit ich weiß ausschlaggebend... bei meiner kurzen berechnung werden ca 26000 entitys erstellt, wenn die alle auf einmal gerendert werden, würde er wahrscheinlich nur 30-35 fps schaffen.
Mich würde wirklich interessieren wo er das genau feststellt das die entitys gerendert werden.

Beiträge: 1 631

Gamestudio: A8

5

Dienstag, 10. Juni 2014, 22:14

öhm ja?
bei f11 steht unter Count of ...ent ~25.600 und habe 4 cube lagen übereinander mit 6400 cubes pro lage.
also wird's nicht gerendert? was denn dann? kann hindurch fliegen und sehe alle. die ent zahl bleibt gleich und meine fps auch bei ~40fps.
wenn ich weniger cubes render z.b. nur eine lage 6400 cubes geht meine fps auf 130 fps
also muss es doch gerendert sein oder was ist es sonst?
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

A8 Com besitzer

Beiträge: 1 631

Gamestudio: A8

6

Dienstag, 10. Juni 2014, 22:16

geo = 0
vis ca. bis 1300
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

A8 Com besitzer

paul

Fortgeschrittener

7

Dienstag, 10. Juni 2014, 22:21

.ent ~25.600 und habe 4 cube lagen übereinander mit 6400 cubes pro lage.
also wird's nicht gerendert? was denn dann? kann hindurch fliegen und sehe alle. die ent zahl bleibt glei


eins darunter ist das wichtige das müsste vis (VISIBLE )heißen, und das gibt dir an was gerendert wird! das was du meinst ist entitys, die können nicht einfach "weg" sein, das gibt dir nur an wieviele entitys in deinen level vorhanden sind... ;)

Beiträge: 1 631

Gamestudio: A8

8

Dienstag, 10. Juni 2014, 22:24

aha und vis ist das gerenderte? und wieso hauts meine fps so runter?
ohne cubes hab ich 500fps
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

A8 Com besitzer

Ähnliche Themen

Thema bewerten