A three-dimensional rendering method to render a 3D scene, the method comprising: Determining select shading points in a 3D scene on which shading is to be performed by grouping (210, 310) vertices into vertex groups; determining hierarchical structure information associated with one or more shading points for each vertex group, each hierarchical structure information representing plural different complexity levels for each vertex group; determining (210, 320) the shading level for each vertex group based on the hierarchical structure information associated with the shading points; wherein the hierarchical structure information defines a hierarchical structure of shading points on which shading is to be performed based on the determined shading level, and wherein, when the shading level is adjusted to be higher, the number of shading points in a vertex group decreases and when the shading level is adjusted to be lower, the number of shading points increases; determining (210, 330) at least one shading point for each vertex group based on the determined shading level; performing the shading on the determined shading points; and determining shading information of the 3D scene based on a result of the shading performed on the determined shading points, characterized in that the step of determining (210, 320) the shading level for each vertex group based on the hierarchical structure information associated with the shading points comprises: determining an optimal shading level for each vertex group, starting from an uppermost shading level, and progressing through shading levels toward a lowest shading level, comprising: i) performing a first shading based on a first shading level, based on the hierarchical structure information associated with the shading points; ii) performing a second shading based on a second shading level that is lower than the first shading level, based on the hierarchical structure information associated with the shading points; iii) calculating a difference in color value based on a difference in shading level between the first shading and the second shading; wherein the steps i) to iii) are repetitively performed until the calculated difference becomes less than a threshold value. Determining select shading points in a 3D scene on which shading is to be performed by grouping (210, 310) vertices into vertex groups; determining hierarchical structure information associated with one or more shading points for each vertex group, each hierarchical structure information representing plural different complexity levels for each vertex group; determining (210, 320) the shading level for each vertex group based on the hierarchical structure information associated with the shading points; wherein the hierarchical structure information defines a hierarchical structure of shading points on which shading is to be performed based on the determined shading level, and wherein, when the shading level is adjusted to be higher, the number of shading points in a vertex group decreases and when the shading level is adjusted to be lower, the number of shading points increases; determining (210, 330) at least one shading point for each vertex group based on the determined shading level; grouping (210, 310) vertices into vertex groups; determining hierarchical structure information associated with one or more shading points for each vertex group, each hierarchical structure information representing plural different complexity levels for each vertex group; determining (210, 320) the shading level for each vertex group based on the hierarchical structure information associated with the shading points; wherein the hierarchical structure information defines a hierarchical structure of shading points on which shading is to be performed based on the determined shading level, and wherein, when the shading level is adjusted to be higher, the number of shading points in a vertex group decreases and when the shading level is adjusted to be lower, the number of shading points increases; determining (210, 330) at least one shading point for each vertex group based on the determined shading level; performing the shading on the determined shading points; and determining shading information of the 3D scene based on a result of the shading performed on the determined shading points, characterized in that the step of determining (210, 320) the shading level for each vertex group based on the hierarchical structure information associated with the shading points comprises: determining an optimal shading level for each vertex group, starting from an uppermost shading level, and progressing through shading levels toward a lowest shading level, comprising: i) performing a first shading based on a first shading level, based on the hierarchical structure information associated with the shading points; ii) performing a second shading based on a second shading level that is lower than the first shading level, based on the hierarchical structure information associated with the shading points; iii) calculating a difference in color value based on a difference in shading level between the first shading and the second shading; wherein the steps i) to iii) are repetitively performed until the calculated difference becomes less than a threshold value.