Jump to content

PhM

Members
  • Posts

    106
  • Joined

  • Last visited

Everything posted by PhM

  1. I am also programming things with Arduinos as well as STM32 boards. If all you have ever done is programming on a PC then these will show you a complete new world where everything has to be carefully planned and thinked ahead. No more luxury, only the bare essentials to deal with. PhM
  2. You can draw text in 3D, but you will have to do it yourself, the SDK does not provide anything for this. The basic things to do is to generate a set of quads, each textured with one letter of the text you want to display. Then, depending on what you want to achieve you will have to either draw them facing the camera or facing a fixed direction that you deem suitable. You, off course, do not want to render these one letter a a time, you also do not want to render these that do not belong to the current view frustum. Welcome to 3d graphics :-) You can look at impostors and billboards to get an idea of what needs to be done. A text string is no more than one of these made of several quads instead of one. PhM
  3. The function that you pass to XPLMUnregisterFlightLoopCallback must be the same as the one that was passed to XPLMRegisterFlightLoopCallback, here the compiler says that you are passing an XPLMDataRef instead of an XPLMFlightLoop_f. PhM
  4. Did that for over ten years, I know what you are talking about. PhM
  5. PhM

    Help!

    Look for IVAO or VATSIM. PhM
  6. This is inexact. This is not what a multi-core CPU "allows" anyone to do. Multi-core CPUs were designed because simply increasing the clock frequency was no more a recipe for faster processing. Therefore spreading the computation over several cores that would run at the same time (paralelliem) was the solution. A multi-core is in no way designed to only let one program run on one core at a time. Just like any other CPU it simply does what the programmer intended it to do. Four cores cannot run a program, that has been designed to take advantage of this architecture, four times faster, apart from some exceptions, but they can make it run several times faster. If the program has not been written to take advantage of this architecture then several cores will never help. It is misleading to say that one program per core is the way computers and software generally work. In fact there are programs that are written to take advantage of multi-core architectures that will run faster by doing several things in parallel, and others, like X-Plane as you mentioned, that are doing things sequentially and thus end up only using one of the available cores. PhM
  7. Is this the only GPU available ? In case your computer is a laptop many have two GPUs one of which is better suited for things like X-Plane. PhM
  8. PhM

    Error Message

    Incomplete scenery, g2xpl_8_17_22888_78296.ter is missing. PhM
  9. Here is what I found in XPLMDisplay.h : * Upon entry the OpenGL context will be correctly set up for you and OpenGL * will be in 'local' coordinates for 3d drawing and panel coordinates for 2d * drawing.If the result is not valid in the gauge phase this means that what you used (matrices and viewport) to compute the 2D coordinates during the 3D phase is not valid for the 2D phase. Easy check : read the matrices and viewport during the gauge phase and compare them to what you read during the airplanes phase. PhM
  10. Correct, he did not want this plane to be available through XPFR anymore. PhM
  11. Better simulate them than have them happen for real. PhM
  12. I never pretended it was solving everything the way everybody wanted. Just saying that a lot of people were lost, confused, annoyed, etc... with this scenery_pack.ini file and that having it deleted on startup was all they needed. PhM
  13. I have developped the simplest of the plugins that deletes scenery_packs.ini on startup and lets X-Plane re-create it. Install it, forget about it, made many happy people. PhM
  14. Yup, I believe I should start mine as well . PhM
  15. My hopes are not too high. PhM
  16. Hi, Trying my luck here as well as on the org, fortunately without the need for diplomat like phrasing. This blog entry, states that aicraft objects are culled even if no object kill is used, my tests happen to show otherwise. There is obviously something that I did not understand, has any aircraft developper got a clue ? PhM
  17. What is this supposed to mean ? PhM
  18. I see, so they basically say that it is 1.9 times faster than the previous models. I love those marketing numbers, they do no mean anything. PhM
  19. No kidding ? These guys would say anything in order to sell . PhM
  20. Look for the OpenGL Version line in your Log.txt, something that will look like : OpenGL Version : 4.2.12422 Compatibility Profile Context 13.152.0.0 (420/12422) PhM
  21. That's what I guessed, I thought that you may have had some way to format the mesh when editing it and that the rendering engine was a worker whose only task was to take whatever it was given and put it on screen. Given your answer it seems that this is not the case and that you have no control over how the engine will use the mesh you provide. Well if you say so I believe you. It happens that I am working in the game industry, so I do have some knowledge in multi-core engines architecture be it using openGL, several DirectX versions and other proprietary APIs, which is why I spot things that we would not do in order to get the most out of the hardware we have. As I already stated I am only relying on what I see from the openGL commands in the captures I make during one v10 frame. I perfectly well know Ben's blog and read it quite often, I had quite a long email discussion with Ben on how to parallelize a game engine, back in 2008 probably, nothing about openGL, or how current rendering engines are architectured these days. Which is good and tells that the captures did not lie and that I was right in stating that there is room for improvement, chances are this will bring us a v10 closer to expectations. A lean and mean engine for X-Plane is all I am hoping for, so our hardware can start smoking and us enjoy a solid 30 fps rate with plenty on the screen. Thanks for your reply. PhM PS : Tell Ben to keep an eye on Mantle from AMD, not much info publicly available yet but the thing is definitely worth following.
  22. I wanted to say that a primitive is a triangle, several triangles are several primitives, but several triangle patches are not primitives, they are several sets of primitives. Sorry this was not clear enough. PhM
  23. By "nobody" I am guessing that you mean the average X-Plane user. Not sure if this is a correct guees but let's say it is. So yes indeed, "nobody" has been directly stating that they cared about the number of primitives per openGL call, for the simple reason that they have no idea about what this is. But a great number of those "nobody" have already, indirectly, stated that they care about that by voicing their concerns about v10 not being what they expected, even with incredible hardware setups, and having to reduce the amount of content they get on the screen to reach an acceptable (over 19 fps in order to stay real time) frame rate. No, in graphics rendering terms a primitive is basically a triangle, not a set of triangles. Now that's interesting, and I would greatly appreciate any link to any published paper on that subject because those I have exactly say the opposite. That given the state of today's hardware, it is mandatory to have as many primitives as possible in order to avoid being API (or CPU if you prefer) bound. This is nothing new as this paper dated back 2004 (it's a DirectX paper but the principles apply to openGL as well) and this paper, published at an earlier dated, state. Only things have got worse because the speed gap between CPUs and GPUs has widened quite a lot. I agree, there is always a tradeoff somewhere. But in this case there is wasted resources that could be used to getting things on the screen. In case this is part of your work on sceneries, may I suggest that you connect together, with degenerate triangles, all the little bits that are using the same drawing context (texture, etc) and draw them in a single draw call instead of several ? This would be a first step in the right direction. At least it is good to see that there is a will to improve things, and I believe that, someday, I will be profiling a v1x frame with a big smile on my face. PhM PS : I will update this post with numbers form some captures I made, so that everyone gets some understanding on this subject.
  24. Has anything been done to improve the number of primitives per openGL calls ratio ? PhM
  25. By this time this board will be outdated . PhM
×
×
  • Create New...