Tag Info

New answers tagged

1

Like Phillip said you should always optimize your models for a goal. That said, i want to add some extra info on the creation of 3D models. Nowadays the polygons are not the bottleneck but texture space is. Since we bake so much into the texture for details (think: Difuse, normal, occlusion, light, etc) and a top notch graphics card can only store 1GB of ...


2

Whenever a frame is rendered, your graphic card must translate the coordinate in 3-dimensional space of every polygon corner (aka vertex) to the two-dimensional space on the monitor. This is done by multiplying each vertex with a projection matrix which represents the current position, angle and field-of-view of the camera. Only after this is done, the ...


1

Is there a way I could speed up things? No, there isn't. The slowest part of your system is the time it takes for the image to be displayed on the monitor, which presumably is in the vicinity of 24 milliseconds. (The monitor takes 16 milliseconds to draw the frame, plus 8 milliseconds because on average the monitor will be halfway through drawing a ...


0

From what I know the fastest way to render something in SDL 2.0 is using textures. You can use SDL_BlitSurface so you don't need to use renderers and convert to textures but that is slower and it is also a bad habit to use it. I would say to stick with textures because it is probably the fastest way to do it. Plus that it is also not so much harder to use ...


1

In java you can use an RGBImageFilter and a FilteredImageSource to change the individual pixels of an image before you draw it. Image screen = //render screen to image if(timeSinseStartWarp>0){ ImageFilter effectFilter = new Warpfilter(timeSinseStart); screen = createImage(new FilteredImageSource(screen.getSource, effectFilter)); }


1

Unless you just made a large number of typos posting this code, your indexing is sloppy; some of the array elements aren't initialized, some are overwritten and at one point you index out of bounds of the array. That looks like your problem. m[0][0] = 2 / (right - left); m[0][1] = 0; m[0][2] = 0; ...


2

Super Sampling Super sampling and anti-aliasing are two different things. Super sampling is just rendering a frame at a higher resolution so that you have more information . This higher-resolution image is then down-sampled. This is especially useful when objects are very thin and might have been missed when sampling on a lower resolution. Down sampling ...


0

I am currently facing the same problem, and my solution is exactly what DuckMaestro and Raven Dreamer suggested - Have a script that creates 4 child objects at runtime each of which representing a side of the border and attach line renderers to each one. In my case I needed to constantly resize the border to keep it around my object (A text mesh [which uses ...


0

I'm don't have any sources confirming it, but as far as I've tested till now, that approach provides better performance compared to using a texture of that size. I suspect the reason for getting better performance is the fact that with smaller texture there is less memory loopups gpu needs in order to render the texture, while it's still doing all the ...


0

Is it better to shade a model inside the 3D modeling software or inside Unity? Any effects brought by shaders in your modeling software have to be recreated in Unity, those won't be carried over. When you import a 3D model into Unity you import structural data (geometry, material info, texture coords and in some cases the list goes on, for example, ...


1

Some ideas come to mind and their implementation will depend entirely on the engine, tools, and, finally, the work and content pipeline. Sprite animation Create the animation using tools like Photoshop and After Effects Render frame by frame into an atlas (sprite sheet) Apply the animation by code Render the card layout on top of that using the proper ...


0

The solution is actually quite easy. The .attachChild() method of the rootNode object only accepts Nodes as it's argument. Therfore, a Geometry object must be created with the line object as its second arguement. In addition, you can also set its material afterwards. An example: Line line = new Line(new Vector3f(0, 0, 0), new Vector3f(0, 100, 0)); ...


0

The best way would be to create your textures manually in an image editing program, then adding them to the game as textures. You would need a separate image for the different conditions (buttonPressed/buttonUnpressed). If you append both images into one, you can easily use animation to change the appearance of the button when it is selected / pressed. You ...


1

It is very possible that you may be able to restructure your algorithm to work as a set of shaders, but I recall hearing a talk on the Mantle API a while ago and thought maybe that's something you could look into as an alternative to the graphics APIs mentioned (OpenGL/DirectX)... I think it lets you program graphics hardware at a lower level thus allowing ...


18

You can absolutely use the GPU to render volumetric data. Since you want to evaluate a set of functions per pixel on the screen, a simple approach is to render a full-screen triangle. This is just a single triangle that covers the entire screen (actually, it covers more than the screen, since the screen isn't triangular, but the parts off-screen are ...


5

It sounds very much like you want to use a GPU compute shader, or utilize a "Shader Storage Buffer" object to help augment the pipeline to fit your needs. Mathematicians, scientists, and other people who look to the GPU for computation on things that don't exactly translate into standard graphics use this kind of thing. Although the contemporary graphics ...


6

Ray tracing and other techniques are commonly done with Compute Shaders, which Direct3D has supported since the release of D3D11 and OpenGL has supported since 4.3 (and longer via the use of OpenCL and some contortions).


0

A straightforward cylindrical mapping should suit your purposes readily, if you look into the equation of a circle then you can come up with a 3D vector for any point on the pipe surface using all the data you have already, and your heightfield variation simply becomes variation of the radius parameter of the function. If visualisation is your goal, then ...


0

Unless the 3D structure of the pipe is important to your application, I would strongly recommend against visualizing things in 3D. This requires turning the pipe to see all sides, and requires developing a UI for interacting with the pipe (rotate, zoom, change focus). These interfaces are difficult to learn, even for technical people. I have enough ...


1

"Real-time rendering" is calculated at the instant you ask for your whatever solution to generate the images (different technologies are used to achieve this target). "Off-line" rendering is not necessarily the contrary of "real-time". The term is often used when speaking about configurators and especially web-configurators. Sometimes people also use the ...


1

Please take a look at this old answer of mine that explains the process in detail. Basically: The members on GraphicsDeviceManager are settings that are only actually applied when ApplyChanges or CreateDevice is called. Note that CreateDevice will get called for you if you are using the built-in Game class. Regarding additional questions asked in ...



Top 50 recent answers are included