Exportimages in High-Res (Jpeg / Png / Tiff) from a jit.matrix
May 09 2019 | 9:48 am
hi guys, does anyone know how to increase the resolution of a jitter matrix (not dimensions) for exporting high res jpeg/png files? the method I am currently using is shown below, however, the resolution remains small while the dimension increases. I have also tried to increase the dimension of my gridshapes, but nothing changes. Also, changing the ji.world dim size to bigger values, nothing changes. If anyone knows a way please let me know thanks
- May 09 2019 | 12:34 pmHi Franky, If you really need to do it inside Max, you can choose among a limited set of resolution in Max preferences (72, 96, 150 and 300dpi), as explained in jit.matrix reference help file. Otherwise, you can do it in an external image editing software, at any resolution you like. BTW, "high res" may be a tricky term for what you're discussing and should not be confused with "high-def" (meaning lots of pixels). Also, beware that a 1px linewidth will be 1px, whatever the resolution.... Maybe this will sound obvious to you, but making hi-res capture of things that look good on a 320x240 windows will require increasing line_width (and point_size) accordingly. HTH.
- May 09 2019 | 12:45 pmHi, thanks for the reply. What i mean is being able to export images such as : HD resolution of 2560 × 1600I dont want to use anything else but Max.I have already increased the preferences to 300 DPi, still way too poorSo you are saying that I should increase the gridshapes/mesh linewidth px ?Thanks a lot
- May 09 2019 | 12:50 pmedit: I have tried changing the linewidth of my mesh, nothing changes. still bad quality
- May 09 2019 | 1:13 pmRoughly : If you want to print your image on a 10x10inch piece of paper with 600dpi ("dot per inch) resolution, you will need to capture a png that will need to be about 6000x6000px. If you want to print it with 1200dpi resolution, it will need to be 12000x12000px in definition. (and of course, you'll need a printer that is capable of printing at this resolution )Concerning the linewidth, if you are drawing a 1px wide line, the line will look thiner on a 3200x2400px large image than on a 320x240px (if displayed with similar visual dimension, that is). Problem is, there's a hard limit on the size of the rendered image that depends on your graphics card. You can overcome this by tiling your scene. Check out this thread if you need more details : https://cycling74.com/forums/largest-possible-rendering-with-jitter-%C2%ABgl%C2%BB- Vincent
- May 09 2019 | 4:16 pmThanks Vincent, woo thats very kind of you, thanks for explaining it to me. Tbh I am not sure I know how to implement that, do you think you can show me using this patch?btw I am using an nvidia gtx 1070
- May 09 2019 | 5:50 pmit looks like you are sending a 320x240 image (the size of your jit.world) to a much higher res matrix and expecting it to render at the higher resolution?you must set the size of your jit.world to the resolution you want to render at. alternatively you can capture your geometry to a jit.gl.node @adapt 0 and decouple the captured texture resolution from the jit.world window size.but easiest is just increase your jit.world @size, unless i'm missing something. - ok i see in your last patch you've modified the jit.world dim attribute, which does the same thing i suggested above, so you should be good.
- May 09 2019 | 6:06 pmhi Rob, thanks for helping. I have tried so many things already, but i can't get what i need. Changing @size of jit.world does not increase the resolution of my exported images (please see attached files) only the dimensions.I have also tried to change the DPI settings in preferences, but that only goes up to 300x300. Below are two of my images one with the DPI at 72 and the other at 300. The dimensions are achieved by increasing the @size of my jit.world and @dim of my matrix. I have also attached an image from the net that has 800x800 resolution and 1024x639 dimensions. I need to be able to increase my resolution of my images mainly as I already know how to increase the dimensions. Also because the quality of my images are bad, because the resolution is too low.I hope you can help. Thanks Rob
- May 09 2019 | 6:27 pmso sounds like all is working, what is not?
- May 09 2019 | 6:29 pmhi, no its not working. The resolution is not changing only the dimensions. The image gets big but the resolution remains the same (poor quality) please see the pictures I have attached and notice the file info
- May 09 2019 | 6:46 pmmanaged to change the DPI within the reference file to 1200. however the quality is still low. see this image when i zoom in. Tbh I dont even know if this can be done at this point, i really thought was a very easy thing to do in jitter given all the tools available
- May 09 2019 | 6:47 pmsorry i don't understand. the dimensions of the image are handled by the jit.world size (or dim if you're decoupling from window size). the resolution is handled by the dpi preference.since the image is already rendered to matrix prior to any dpi settings, dpi won't have any effect on the "quality" of the rendered image.my guess is you can set the dimensions to double your desired size, and then use an image software to resize/resample at your desired size.
- May 09 2019 | 6:52 pmok so i can export an image at 4k dimension and 72x72 dpi and then use a image software to export at HD resolution? But how can an image software increase the quality of a low resolution image? is not like trying to make a wave file from an mp3?
- May 09 2019 | 7:02 pmHere it is, quality is very poor. resizing my image wont change/increase the resolution = very poor quality So if i follow what you just said it does not work.. .
- May 09 2019 | 7:09 pmalso, what i am struggling with... i have not find a single user that has sent me a image with big dimensions and equal big resolution. therefore all the images exported, no matter the dimensions, are low resolution : (
- May 09 2019 | 7:13 pmMaybe try to define what you want precisely, then we can better answer to you. Do you want to print it ? Or present it on screen ? What format ? What exhibition context ? What distance from the image will be the audience in the end ? Actually, saying that the "quality is low" does not make much sense out this context. Also, I don't know how much you are familiar to computer graphics, but maybe you will also need to check out the difference between vector graphics and raster graphics.Typically when working with OpenGL in Jitter, you manipulate 3D objects in the vector world, but the OpenGL rendering engine (wrapped in jit.world in Jitter) will rasterize this to a bitmap image in the end.Any raster graphics image will look like pixellized if you zoom close enough. If your goal is to keep your drawings smooth, no matter what zoom you apply, you will need to stay with vector graphics. HTH. V.
- May 09 2019 | 7:34 pmok thanks Vincent, ok that explains the problem. so if i want to stay with vector graphics can i render to a jit.gl.render instead of jit.world ? but i think you are you saying that OpenGL rendering engine will rasterize to a bitmap image in the end anyway? so no point really right ?I am looking to make jpeg image files in high resolution so i can make digital artworks (for music artworks), or print them or project them . I thought this was much easier to achieve.edit: Sorry Vincent, I have read the info you have shared again. thanks what format you think i should export if i want to print my images in A1 size ? also what format should use if the images will be used as an artwork for an album cover?Sorry I never had to export high quality images before in jitter, only movie files. thanks for the help
- May 10 2019 | 12:32 amif you have a matrix of 3000*3000 and you want to export something from it which is bigger, you could aswell do that in photoshop, because it wont be of a higher quality anyway. the other option is to change the size before exporting i.e. change the dim 3000 3000 to dim 6000 6000 or whetever. in the case of vectors/GL/effects you would have to increase dim all over the signal path in order to get a higher quality. ;)
- May 10 2019 | 7:58 am@Franky: Yes, OpenGL will eventually rasterize your 3D (vector) graphics scene to a matrix of pixels. Formats like TIFF, JPEG, PNG, BMP, are matrices of pixels. Vector graphics are typically stored in file like SVG, or in whatever vector graphics software format you use (e.g. Adobe Illustrator)300dpi is considered a standard "good" resolution for printing. So if you want to print on A1 format at 300dpi, you will have to multiply your paper dimension by your dpi. A1 = 23.4 × 33.1 inch => 23.4inch × 300dpi = 7020px => 33.1inch × 300dpi = 9930px @Rob : thinking of all this, could that be a reasonable FR to add an "exportimage" message to the render, so that the vector graphics attached to it could be exported at a given resolution (possibly ultra-HD) ? It would avoid the hassle of doing all the separate renderings as mentionned in that older thread.
- May 10 2019 | 9:52 amJust to clarify some concepts: First: @Cycling, Please change the DPI (Dot per Inch) reference to PPI (Pixel per Inch). That's what it really is, pixels, not printing dots. A single pixel may be printed using multiple printing dots... (A 300 PPI image could be printed in a 1200 DPI printer). In the text below, I'll use the term PPI.The PPI value is merely a metadata value embedded in the image. It does NOT change the absolute quality of the image. As the meaning suggests, it only defines the pixel density according to physical space. So for example: An image of 2000 x 2000 pixels and a 200 PPI setting, will occupy an area of 10 x 10 inches. The same image with a 100 PPI setting, will be 20 x 20 inches. If you open an image in Preview or Photoshop, and use the Image Size function, and turn off the "Resample" feature (since it would be creating interpolated values), you can change the physical size and see the PPI value change accordingly and vice-versa. In any case, the absolute number of pixels is the same.When you place a rasterized image in a vector-based application such as Illustrator or InDesign, and change the image's dimensions in the "page", you're actually redefining its PPI value.So, in essence, don't focus on the PPI value of the export function. As other members suggested, focus instead on the dimensions of the rendered image. That is the only thing that will define the output quality of the final image.