![]() ![]() If you enjoy reading content that provides step-by-step instructions, clear examples, and that won't throw you in the deep with millions of details, this book is probably for you. ![]() Therefore, my aim is to provide a platform that is both complete and easy to understand. ![]() Throughout the internet there are thousands of documents, books, and resources on learning OpenGL, however, most of these resources are only focused on OpenGL's immediate mode (commonly referred to as the old OpenGL), are incomplete, lack proper documentation, or are not suited for your learning preferences. The aim of LearnOpenGL is to show you all there is to modern OpenGL in an easy-to-understand fashion with clear examples, while also providing a useful reference for later studies. I certainly wouldn't want to do it manually either, but I don't think you have much choice in this case.Īt first glance, and I haven't had much time to consider this problem, it seems like ( at least for this case ) you'd be better off doing the tessellation in the geometry shader, although I know you're currently using it to do other things ( and of course, I would want to use the tessellation feature to do this were I writing it myself ).Welcome to the online book for learning OpenGL! Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this book will teach you the basics, the intermediate, and all the advanced knowledge using modern (core-profile) OpenGL. ![]() Obviously you have some configuration options and "capability to suggest" in the control shader, but it doesn't look like you're going to be able to get the results shown in your image regardless of how you configure the tessellation values.Īs I'm sure you're aware, you can do a lot to the data inside the evaluation shader, but I gather you didn't want to do this manually. The section "Abstract Patch" ( on the same page ) has more information on the process, in particular stating "the primitive generator evaluates a different number of tessellation levels and applies different tessellation algorithms". "The primitive generation part of the tessellation stage is completely blind to the actual vertex coordinates and other patch data." The actual tessellator is fixed function and is just sandwiched between the control and evaluation stages. Has anyone ever seen or done something like this? Is that even possible? Any help is greatly appreciated. Notice, that if a triangle is narrow (they usually are), there are too many vertices inside. The gl_TessLevelInner value is the average of the three gl_TessLevelOuter values. This way i won't draw too many points into a GV cell (a pixel in a 3D Texture).Ĭurrently I'm calculating each edge length of the input triangle and set gl_TessLevelOuter to the edge length (times a factor). My question is: How can I compute the best gl_TessLevelInner and gl_TessLevelOuter values in the tessellation control shader in order to generate the smallest necessary amount of points? That is, I want to tessellate any given triangle into equilateral triangles of a calculated size. The geometry shader then assigns those points to the correct layer of the 3D GV Texture. My idea was to render the whole scene and tessellate the triangles into points. The standard LPV algorithms compute only one light bounce, that's why they inject geometry points only where the direct light hits them (by rendering the reflective shadow map as a "point carpet"). Hi everybody! I'm experimenting with LPV (light propagation volumes) and want to inject/render my whole scene into the GV (geometry volume) in order to compute multiple bounces. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |